Jun 082012
 

みなさま

高木です。 前回の研究会で話題になった内包判定のスクリプトです。 モジュールとしてまとめてますので、インポートして使ってみてください。

バグ等発見した方はこのメーリスに投稿をお願いします。

たかぎ

  4 Responses to “内包判定”

  1. 高木さん、どこにアップしましたか?松川

  2. すいません。。。 添付しわすれました。。。

    2012年6月8日 21:41 shohei matsukawa / 000studio :

    default icon120608_module.zip

  3. 松川研のみなさん

    等高線を立ち上げるプログラムを実装しました。 松川さんに成果物をシェアするようにと指示を受けましたので、ソースコードを 添付します。

    バグや不具合を発見した方はこのメーリスへの投稿をお願いします。

    中村

    # -*- coding: utf-8 -* import rhinoscriptsyntax as rs import inout.inout as io

    class getList: def getAreaList(self): self.areaList = [] self.sortedList = [] self.partsList = [] self.areaDic = {}

    self.objs = rs.GetObjects() for i in self.objs: self.area = rs.CurveArea(i) self.areaList.append(self.area[0]) self.areaDic[self.area[0]] = i

    self.sortedList = sorted(self.areaList) self.sortedList.reverse()

    for i in self.sortedList: self.partsList.append(self.areaDic[i])

    class levelCheck: def __init__(self,objs): self.objs = objs #partsListで self.levelDic = {}

    def dicMake(self): for i in self.objs: levelCounter = 0 pt = rs.CurveStartPoint(i) for j in self.objs: if i != j: bool = io.checkInOut(pt,j) if bool: levelCounter += 1 print levelCounter self.levelDic[i] = levelCounter

    test = getList() test.getAreaList()

    test2 = levelCheck(test.partsList) test2.dicMake() print test2.levelDic

    for i in test.partsList: h = test2.levelDic[i] rs.MoveObject(i,[0,0,3*h])

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>