Jun 272012
 

佐々木です

夏に行う、環境デザインフィールドワークのお知らせを転送します。 参加希望予定や興味のある方は、平野さんまで連絡をお願いします。 nanako@sfc.keio.ac.jp

みなさん

修士2年の平野です。 今年度、環境デザインフィールドワークのTAを務めさせて いただくことになりました。

添付ファイルにもあるとおり、今年度のフィールドワークは フランス・スイスが対象地です。もし、興味のある方は、是非 参加していただきたいと思っています。 つきましては、参加希望の有無を確認したいと思っていますが、 正式に募るのは、学事との関係上もう少し先になりそうです。 なので、今回はあくまでも仮の予定表となりますが、興味の ある方は是非目を通してみてください。 正式募集から参加締め切りまであまり時間はないので、ご検討 お願いします。 一応、現時点で興味のある方は、平野までご連絡ください。 (正式には、後日改めてご連絡します)

仮ではありますが、大幅には変更ないと思います。

平野

doc icon$B4D6-%G%6%$%s(BU%#!<%k%I%o!<%_%7%g%C%W.docx

 Posted by at 9:51 am
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)


(作成:佐々木雅宏)

Jun 262012
 

# -*- coding: utf-8 -*-
import rhinoscriptsyntax as rs
import rhinoscriptsyntax as rs
#import math as m
#グリッドの範囲を決める
x=rs.GetReal("x軸方向にグリッドを引く範囲を入力してください")
y=rs.GetReal("y軸方向にグリッドを引く範囲を入力してください")
z=rs.GetReal("z軸方向にグリッドを引く範囲を入力してください")
#x軸とy軸にz軸に線を引く
objX=rs.AddLine((0,0,0),(x,0,0))
objY=rs.AddLine((0,0,0),(0,y,0))
objZ=rs.AddLine((0,0,0),(0,0,z))

#グリッドの寸法を決める
grid=rs.GetReal("gridの寸法を入力してください")
pitchX=int(round(x//grid))+1
pitchY=int(round(y//grid))+1
pitchZ=int(round(z//grid))+1

#for文でx軸方向にz軸の線をcopyする
for i in range(0,pitchX):
	translationX=[grid*i,0,0]
	point=rs.AddPoint([0,0,0])
	objc1=rs.CopyObject(objZ,translationX)
	#for文でy軸方向にz軸の線をcopyする
	for j in range(0,pitchY):
		translationY=[0,grid*j,0]
		rs.CopyObject(objc1,translationY)
#for文でy軸方向にx軸の線分をcopyする
for j in range(0,pitchY):
	translationY1=[0,grid*j,0]
	objc2=rs.CopyObject(objX,translationY1)
	#for文でz軸方向にx軸の線分をcopyする
	for k in range(0,pitchZ):
		translationZ=[0,0,grid*k]
		rs.CopyObject(objc2,translationZ)
#for文でx軸方向にy軸の線分をcopyする
for i in range(0,pitchX):
	translationX1=[grid*i,0,0]
	objc3=rs.CopyObject(objY,translationX1)
	#for文でz軸方向にy軸の線分をcopyする
	for k in range(0,pitchZ):
		translationZ1=[0,0,grid*k]
		rs.CopyObject(objc3,translationZ1)

作成(入矢佳紀)

Jun 262012
 


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

#planerSrf関数
def planarSrf(_objs):
rs.AddPlanarSrf(_objs)

#内側にサーフェイスを作るCurveの選択

objs = rs.GetObjects("Select planar curves to build surface", rs.filter.curve)

#planarSrf関数呼び出し
planarSrf(objs)

(作成:佐々木雅宏)

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)

(作成:泉暁大)

Jun 262012
 

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

#offsetCarve関数
def offsetCurve(_curve,_point,_distance):
rs.OffsetCurve(_curve,_point,_distance)

#オフセットするオブジェクトの選択
obj = rs.GetObject("Select a curve", rs.filter.curve)
#オフセットする距離の入力
number = rs.GetInteger("Enter a value")
#オフセットする方向を指定
direction = rs.GetPoint("Click offset direction")

#offsetCurve関数呼び出し
offsetCurve(obj,direction,number)

(作成:佐々木雅宏)