Jul 032012
 

# -*- coding: utf-8 -*- #
import rhinoscriptsyntax as rs
import random as rnd
number = rs.GetInteger("作成するレイヤの数を入力してください")

for i in range(0,number):
    r = rnd.randint(0,255)
    g = rnd.randint(0,255)
    b = rnd.randint(0,255)
    rs.AddLayer(None, [r,g,b])

 (作成:泉暁大)

Jul 032012
 

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

#レイヤ名と現在のレイヤを格納する
layers = rs.LayerNames()
current = rs.CurrentLayer()

#現在選択されているレイヤ以外のすべてのレイヤを非表示にする
for layer in layers:
    if layer != current:
        rs.LayerVisible(layer, False)

(作成:泉暁大)

Jul 032012
 

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

#レイヤ名と現在のレイヤを格納する
layers = rs.LayerNames()
current = rs.CurrentLayer()

#現在選択されているレイヤ以外のすべてのレイヤをロックする
for layer in layers:
    if layer != current:
        rs.LayerLocked(layer, True)

(作成:泉暁大)

Jun 262012
 

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

#線分を2本選択
obj1 = rs.GetObject(message = "select 1st line",filter=4)
obj2 = rs.GetObject(message = "select 2nd line",filter=4)
 
#obj1の値(始点、終点)を抽出
startPt1 = rs.CurveStartPoint(obj1)
endPt1 = rs.CurveEndPoint(obj1)
line1 = (startPt1,endPt1)
 
#obj1の値(始点、終点)を抽出
startPt2 = rs.CurveStartPoint(obj2)
endPt2 = rs.CurveEndPoint(obj2)
line2 = (startPt2,endPt2)
 
#交点を求める
points = rs.LineLineIntersection(line1,line2)

#突き当たる線分を描画する
rs.AddLine(startPt1, points[0])
rs.AddLine(startPt2, points[0])

(作成:泉暁大)

Jun 262012
 


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

#線分の選択
obj = rs.GetObject(message = "select line",filter=4)

#線分の始点終点の座標を抽出
startpoint = rs.CurveStartPoint(obj)
endpoint = rs.CurveEndPoint(obj)

#始点から終点までをベクトルで表現
Vec = rs.VectorCreate(endpoint,startpoint)
d = rs.VectorLength(Vec)

#距離を100にする(設定に依存する)
Vec = rs.VectorScale(Vec, 100/d)

#描画する線の終点を定める
newendpoint = startpoint + Vec

#距離が100の線を描く
rs.AddLine(startpoint,newendpoint)

(作成:泉暁大)