スクリプト関連/2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* 測定関連 [#e47c2a0b]
-ページ: [[スクリプト関連]]
-投稿者: [[sugi]]
-優先順位: 低
-状態: 完了
-投稿日: 2005-09-11 10:43:14 (日)
** メッセージ [#tc9ff056]
はじめまして。
最近、Rhinocerosを使い始めた金型屋です。
測定関連でいくつかスクリプトを書いてみたので、この場を借...
ください。また、もっと良い書き方があれば教えてください。
使用したのは Rhinoceros3.0 SR3c です。
距離.rvb :点から線、面までの距離を求めます。
抜き勾配.rvb:2点間の抜き勾配(Z軸に対する角度)を求め...
R測定.rvb :面上のRを測定します。
R測定の「解析−曲率分析(位置指定)」(curvature)で「曲率...
を強制的に「はい」にしてやりたかったのですが、うまくいき...
何とかならないでしょうか?
スクリプトをツールバーのボタンに登録する場合はマウスボタ...
のように入力してください。
!_-loadscript C:\cad\rhino\script\距離.rvb
# C:\cad\rhino\script\ の部分はスクリプトのパスです。
--- cut here (距離.rvb) ---
Dim pt1,pt2,dist,arrPt1,arrPt2
Rhino.Command "_SelNone"
arrPt1=Rhino.GetPoint
Rhino.Addpoint arrPt1
pt1=Rhino.FirstObject
' pt1=Rhino.GetObject("点を指示",1)
' arrPt1 = Rhino.PointCoordinates(pt1)
Rhino.Command "_closestpt pause w" & Rhino.pt2str(arr...
pt2=Rhino.FirstObject
arrPt2 = Rhino.PointCoordinates(pt2)
dist=Rhino.Distance(arrPt1,arrPt2)
msgbox round(dist,4) ,,"距離"
Rhino.deleteObject(pt1)
Rhino.deleteObject(pt2)
--- cut here (距離.rvb) ---
--- cut here (抜き勾配.rvb) ---
Dim pt1,pt2,arrPt1,arrPt2,arrAng
Rhino.Command "_SelNone"
arrPt1=Rhino.GetPoint
Rhino.Addpoint arrPt1
pt1=Rhino.FirstObject
arrPt2=Rhino.GetPoint
Rhino.Addpoint arrPt2
pt2=Rhino.FirstObject
if arrPt1(2) > arrPt2(2) then
arrAng=Rhino.angle(arrPt1,arrPt2)
else
arrAng=Rhino.angle(arrPt2,arrPt1)
end if
msgbox round(90+arrAng(1),4) & "°" ,,"抜き勾配"
Rhino.deleteObject(pt1)
Rhino.deleteObject(pt2)
--- cut here (抜き勾配.rvb) ---
--- cut here (R測定.rvb) ---
Dim obj1,obj2,obj3,obj4,arrPt,dblRadius
Rhino.Command "!_selnone"
' Rhino.Command "!-_curvature _pause _MarkCurvature...
' Rhino.Command "!-_curvature _pause _m _pause _enter"
Rhino.Command "!-_curvature "
' obj1=Rhino.FirstObject
' obj2=Rhino.nextobject(obj1)
' obj3=Rhino.nextobject(obj2)
obj4 = Rhino.GetObject("カーブを選択",4)
If (obj4 <> vbNull) Then
arrPt = Rhino.GetPointOnCurve(obj4, "点を選択")
dblRadius = Rhino.CurveRadius(obj4, arrPt)
msgbox "R" & round(dblRadius,4) ,,"R寸法"
End If
' Rhino.deleteObject(obj1)
' Rhino.deleteObject(obj2)
' Rhino.deleteObject(obj3)
--- cut here (R測定.rvb) ---
----
-R測定.rvbの3行目。Yesの前のアンダーバーが抜けてまーす...
----
sugiです。
現八さん、ありがとうございます。
結構はまっていたので、助かりました。
おかげで、思い通りの動作になりました。:-)
スクリプトや操作上の分からないところなどを質問できる、こ...
と心強いです。これからもよろしくお願いします。
--- cut here (R測定.rvb 修正版) ---
Dim obj1,obj2,obj3,obj4,arrPt,dblRadius
Rhino.Command "!_selnone"
Rhino.Command "!-_curvature _pause _M=_Yes _pause _ent...
obj1=Rhino.FirstObject
obj2=Rhino.nextobject(obj1)
obj3=Rhino.nextobject(obj2)
obj4 = Rhino.GetObject("カーブを選択",4)
If (obj4 <> vbNull) Then
arrPt = Rhino.GetPointOnCurve(obj4, "点を選択")
dblRadius = Rhino.CurveRadius(obj4, arrPt)
msgbox "R" & round(dblRadius,4) ,,"R寸法"
End If
' Rhino.command "_radius"
Rhino.deleteObjects(array(obj1,obj2,obj3))
--- cut here (R測定.rvb 修正版) ---
-お、解決ですか? この場がお役に立てて何よりです。 これ...
-おかげさまで解決です。状態の変更方法が良く分からなかった...
-OKです 有り難うございました。 -- [[kitta]] &new{2005-09...
-Rhino.Command "! -curvature pause 曲率カーブ作成=いいえ pa...
-日本語版は↑このようにアンダーバーを使わず日本語でコマン...
#comment
終了行:
* 測定関連 [#e47c2a0b]
-ページ: [[スクリプト関連]]
-投稿者: [[sugi]]
-優先順位: 低
-状態: 完了
-投稿日: 2005-09-11 10:43:14 (日)
** メッセージ [#tc9ff056]
はじめまして。
最近、Rhinocerosを使い始めた金型屋です。
測定関連でいくつかスクリプトを書いてみたので、この場を借...
ください。また、もっと良い書き方があれば教えてください。
使用したのは Rhinoceros3.0 SR3c です。
距離.rvb :点から線、面までの距離を求めます。
抜き勾配.rvb:2点間の抜き勾配(Z軸に対する角度)を求め...
R測定.rvb :面上のRを測定します。
R測定の「解析−曲率分析(位置指定)」(curvature)で「曲率...
を強制的に「はい」にしてやりたかったのですが、うまくいき...
何とかならないでしょうか?
スクリプトをツールバーのボタンに登録する場合はマウスボタ...
のように入力してください。
!_-loadscript C:\cad\rhino\script\距離.rvb
# C:\cad\rhino\script\ の部分はスクリプトのパスです。
--- cut here (距離.rvb) ---
Dim pt1,pt2,dist,arrPt1,arrPt2
Rhino.Command "_SelNone"
arrPt1=Rhino.GetPoint
Rhino.Addpoint arrPt1
pt1=Rhino.FirstObject
' pt1=Rhino.GetObject("点を指示",1)
' arrPt1 = Rhino.PointCoordinates(pt1)
Rhino.Command "_closestpt pause w" & Rhino.pt2str(arr...
pt2=Rhino.FirstObject
arrPt2 = Rhino.PointCoordinates(pt2)
dist=Rhino.Distance(arrPt1,arrPt2)
msgbox round(dist,4) ,,"距離"
Rhino.deleteObject(pt1)
Rhino.deleteObject(pt2)
--- cut here (距離.rvb) ---
--- cut here (抜き勾配.rvb) ---
Dim pt1,pt2,arrPt1,arrPt2,arrAng
Rhino.Command "_SelNone"
arrPt1=Rhino.GetPoint
Rhino.Addpoint arrPt1
pt1=Rhino.FirstObject
arrPt2=Rhino.GetPoint
Rhino.Addpoint arrPt2
pt2=Rhino.FirstObject
if arrPt1(2) > arrPt2(2) then
arrAng=Rhino.angle(arrPt1,arrPt2)
else
arrAng=Rhino.angle(arrPt2,arrPt1)
end if
msgbox round(90+arrAng(1),4) & "°" ,,"抜き勾配"
Rhino.deleteObject(pt1)
Rhino.deleteObject(pt2)
--- cut here (抜き勾配.rvb) ---
--- cut here (R測定.rvb) ---
Dim obj1,obj2,obj3,obj4,arrPt,dblRadius
Rhino.Command "!_selnone"
' Rhino.Command "!-_curvature _pause _MarkCurvature...
' Rhino.Command "!-_curvature _pause _m _pause _enter"
Rhino.Command "!-_curvature "
' obj1=Rhino.FirstObject
' obj2=Rhino.nextobject(obj1)
' obj3=Rhino.nextobject(obj2)
obj4 = Rhino.GetObject("カーブを選択",4)
If (obj4 <> vbNull) Then
arrPt = Rhino.GetPointOnCurve(obj4, "点を選択")
dblRadius = Rhino.CurveRadius(obj4, arrPt)
msgbox "R" & round(dblRadius,4) ,,"R寸法"
End If
' Rhino.deleteObject(obj1)
' Rhino.deleteObject(obj2)
' Rhino.deleteObject(obj3)
--- cut here (R測定.rvb) ---
----
-R測定.rvbの3行目。Yesの前のアンダーバーが抜けてまーす...
----
sugiです。
現八さん、ありがとうございます。
結構はまっていたので、助かりました。
おかげで、思い通りの動作になりました。:-)
スクリプトや操作上の分からないところなどを質問できる、こ...
と心強いです。これからもよろしくお願いします。
--- cut here (R測定.rvb 修正版) ---
Dim obj1,obj2,obj3,obj4,arrPt,dblRadius
Rhino.Command "!_selnone"
Rhino.Command "!-_curvature _pause _M=_Yes _pause _ent...
obj1=Rhino.FirstObject
obj2=Rhino.nextobject(obj1)
obj3=Rhino.nextobject(obj2)
obj4 = Rhino.GetObject("カーブを選択",4)
If (obj4 <> vbNull) Then
arrPt = Rhino.GetPointOnCurve(obj4, "点を選択")
dblRadius = Rhino.CurveRadius(obj4, arrPt)
msgbox "R" & round(dblRadius,4) ,,"R寸法"
End If
' Rhino.command "_radius"
Rhino.deleteObjects(array(obj1,obj2,obj3))
--- cut here (R測定.rvb 修正版) ---
-お、解決ですか? この場がお役に立てて何よりです。 これ...
-おかげさまで解決です。状態の変更方法が良く分からなかった...
-OKです 有り難うございました。 -- [[kitta]] &new{2005-09...
-Rhino.Command "! -curvature pause 曲率カーブ作成=いいえ pa...
-日本語版は↑このようにアンダーバーを使わず日本語でコマン...
#comment
ページ名: