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))