• ABOUT
  • SITE POLICY
  • AGREEMENT
  • JP
  • SIGN IN:
  • SIGN IN:
Rhino Python_ランダムに選択するコマンドを作る
by Yoshimasa Matsumoto_sub Feb 25, 2019

某場所からアクセスしようとしたらFB認証がブロックされてしまったので、避難用の垢を作成しました。

もう就活の時期ですね。にもかかわらず競プロにはまってしまって、就活よりも研究欲が高まってしまい、早く終わらなかなと。
とりあえず、RFとSVMの理論はあらかたわかったので、そろそろニューラルネットワークに入ろうかなと思ってます。(Accuracyが高くでる傾向があって、早急に身に着けたい)

そんなこともありますが、とりあえず某同期からランダムに選択する方法がなくて、世の中からランダムという言葉を消し去りたいと病み始めていたので、一肌脱ごうということになり作成しました。

今回はRhinoにPythonでランダムに選択するコマンドの作成方法についてです。
(詳しくは書きません。こちらを参照してください↓)
コマンド作成_Rhino公式レファレンス

上記の通りにEditPythonScriptでコマンドを作成してください。

そしたら、その関数の中に以下をコピペしてください。


#追記:userinterfaceの読み込みとrsの重複が問題っぽいため、userinterfaceをコメントアウトしました
#import rhinoscript.userinterface
import random as rdm
import rhinoscriptsyntax as rs

def RunCommand( is_interactive ):
obj = rs.GetObjects(message = "Select Object", preselect = True)
print "SelectedObjNumber is ", len(obj)
pick = rs.GetInteger("Export Number")

while pick > len(obj):
print "Export Number is larger"
pick = rs.GetInteger("Redefine Export Number")

rdmObj = rdm.sample(obj, pick)

rs.SelectObjects(rdmObj)
return 0

完成。
コマンドラインにてRandomSelectと打てば、この関数が実行されます。

このrhinoscriptsyntax.userinterfaceが読み込まれないことが多々あり、バグなのか使い方が悪いのかよくわかりません。
自分はAppData\Roaming\McNeel\Rhinoceros\5.0\Plug-ins\IronPython\settings\lib\rhinoscript内のuserinterface.pyをデスクトップに移動させて、また戻して再読み込みさせてましたが、いい方法ないでしょうか、、、

写真は後程追加します。(なぜか写真が貼れない、ローカルファイルアクセス権限の問題でしょうか、、、)

ps.マークダウンが実装されないかなとずっと待ってます。笑


コメントをするにはログインしてください。

11224 0
Tags
#Rhinoceros #Python
License
cc_by_sa
GNU GPL

CONTACT ©2025 NIKKEN SEKKEI LTD.