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

#判定するために、二つの円の中心と半径を調べる
id = rs.GetObjects("Select circle")
point1 = rs.CircleCenterPoint(id[0])
point2 = rs.CircleCenterPoint(id[1])

radius1 = rs.CircleRadius(id[0])
radius2 = rs.CircleRadius(id[1])

points=[point1,point2]

#円同士の位置判定

a=True
b=False
def Intersection():
#円同士が衝突する場合

    if (distance<r1 and distance>r2):
        print a

#円が外で接するあるいは中で接する
    elif(distance==r1 or distance==r2):
        print "touch"

#内包する場合
    elif(distance<r2):
        print "containing"
#円同士離れている   

  else:
        print b
distance=rs.Distance(point1,point2)
r1=radius1+radius2
r2=abs(radius1-radius2)  #半径差の絶対値

Intersection()

(作成:陳琳)

Jun 262012
 


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

#AddDimension関数
def AddDimension(_startpoint, _endpoint, _dimensionpoint):
rs.AddAlignedDimension(_startpoint, _endpoint, _dimensionpoint)
#ChangeDimScale関数
def ChangeDimScale(_number):
rs.DimScale(_number)



#寸法を取る最初の位置を選択
startpoint = rs.GetPoint("Select start point to add dimension")
#寸法を取る最後の位置を選択
endpoint = rs.GetPoint("Select end point to add dimension")
#寸法を入れたい位置をクリック
dimensionpoint = rs.GetPoint("Click where dimention will aligned")
#寸法の文字の大きさを変更
letterscale = rs.GetInteger("Enter a value of letter scale")



#AddDimension関数呼び出し
AddDimension(startpoint,endpoint,dimensionpoint)

#ChangeDimScale
if( letterscale != 1.0 ):
ChangeDimScale(1.0)
else:
ChangeDimScale(letterscale)


(作成:佐々木雅宏)