CADとPython 04 図形を描く

今回はスクリプトを使って、ベクターワークス/ライノセラスで図形を描いていきます。

Vectorworksのスクリプト

# -*- coding: utf-8 -*-
import vs

#線を書く
p1 = (0,0)
p2 = (100,100)
vs.MoveTo(p1)
vs.LineTo(p2)

#円を書く
vs.ArcByCenter(-100, 100, 100, 0, 360)

#四角形を書く
p1 = 0,0
p2 = 100,-100
vs.Rect(p1,p2)

#多角形を書く
p1 = (0,0)
p2 = (-50,-50)
p3 = (-70,-50)
p4 = (-100,-120)
p5 = (-120,-160)

vs.BeginPoly()
vs.AddPoint(p1)
vs.AddPoint(p2)
vs.AddPoint(p3)
vs.AddPoint(p4)
vs.AddPoint(p5)
vs.EndPoly()
vs.ReDraw()

def callback(pt):
    vs.AlrtDialog(str(pt))
    
    p2 = (pt[0]+100,pt[1]+100)
    vs.Rect(pt,p2)

vs.GetPt(callback)

ライノセラス

#の行はVectorworksの部分です。#の後に行をかくとその行はコメントとして扱われ、処理はされません。どちらのソフトも座標を使っていますが、使い方が違うのがわかります。

# -*- coding: utf-8 -*-
import rhinoscriptsyntax as rs

#線を書く
p1 = (0,0)
p2 = (100,100)
#vs.MoveTo(p1)
#vs.LineTo(p2)
rs.AddLine(p1, p2)


#円を書く
#vs.ArcByCenter(-100, 100, 100, 0, 360)
plane = rs.WorldXYPlane()
plane = rs.MovePlane(plane,(-100,100))
p = (200,200)
rs.AddCircle( p, 100 )

#四角形を書く
#p1 = 0,0
#p2 = 100,-100
#vs.Rect(p1,p2)
plane = rs.WorldXYPlane()
plane = rs.MovePlane(plane,(0,-100))
rs.AddRectangle(plane, 100, 100)

#多角形を書く
p1 = (0,0)
p2 = (-50,-50)
p3 = (-70,-50)
p4 = (-100,-120)
p5 = (-120,-160)

points = [p1,p2,p3,p4,p5]
rs.AddPolyline(points)

#vs.BeginPoly()
#vs.AddPoint(p1)
#vs.AddPoint(p2)
#vs.AddPoint(p3)
#vs.AddPoint(p4)
#vs.AddPoint(p5)
#vs.EndPoly()

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です