CADとPython学習 10 リストとfor文

pythonでは「リスト」と「for文」は非常に重要です。もちろんCADで使用する場合でも重要になってきますので、10,11,12と3回に分けて基本をお伝えします。

スクリプトサンプル

今回のサンプルはVectorworksのみです。図形からfor文を使って、多角形の座標とレイヤのリストを作成しています。

import vs

target = vs.FSActLayer()

pt1 = vs.GetPolyPt(target, 1)
pt2 = vs.GetPolyPt(target, 2)
pt3 = vs.GetPolyPt(target, 3)
pt4 = vs.GetPolyPt(target, 4)
pointList = [pt1,pt2,pt3,pt4]
vs.AlrtDialog(str(pointList))

#多角形の頂点が100個あったら大変
points = []
count = vs.GetVertNum(target)
for index in range(count):
    pt = vs.GetPolyPt(target, index+1) #引数は1から / rangeは0から
    vs.AlrtDialog(str(pt))
    points.append(pt)
    
vs.AlrtDialog(str(points))

#rangeはforの中を指定した回数
#注意点としてrangeは0から始まる。countが4だったら、indexは(0,1,2,3)
#だから、index+1となる。

layers = []
count = vs.NumLayers()
target = vs.ActLayer()

for index in range(count):
    layerName = vs.GetLName(target)
    
    layers.append(layerName)
    target = vs.NextLayer(target)
    
vs.AlrtDialog(str(layers))

Follow me!

コメントを残す

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