RhinoScript 建立按键 Create Button

RhinoScript 建立巨集 Macros 可以使用指令巨集执行很多任务 RhinoScript 是 Rhino 3D 内建 Macro 巨集语言,包括自己定义命令或由指令行输入、自订工具列按钮、快速键、处理复杂且重复的工作,将 RhinoScript 设置于工具列中的按钮,提升 3D Modeling Productivity 建模效率。

! _-Runscript (
  RhinoScript...
)

! _LoadScript "C:\User\Documents\RhinoScript\Example.rvb"

RhinoScript 用于 Rhinoceros 3D 的语言,可以自动化许多不同的任务,根据需求进行定义流程和功能提高工作效率,从创建几何图形到执行复杂的建模运算。在 RhinoScript 编辑器中创建 Script 文件,使用 VBScript 语言来编写脚本,发现他还可以把 Microsoft 经典版程式 Class ASP Beautifier 自动格式化。协助自动化许多相同重复输入任务。只要熟悉 VBScript 语言和 Rhino 3D 软件的 API 可以使用 RhinoScript 创建各种自定义工具和插件,以满足实际工作上具体需求。


RhinoScript 匹配到指定物件的颜色

Match Object Color to Select 当使用颜色来区分模型时,因为又新增一个模型且需要与原本的颜色相同,用颜色区分主要是方便可以使用 ('_SelColor) Select by Color 配合锁定或隐藏。当然也可以使用图层区分。

Dim multipleObjects, strObject, objColor, selObjects

SelectedObjects 如果当前已经选择目标物件,则直接指定匹配的物件。如果没有再进行 GetObjects 来选取希望的物件。

multipleObjects = Rhino.SelectedObjects
If Not IsArray(multipleObjects) Then
  multipleObjects = Rhino.GetObjects("Select objects to change color")
End If
If IsArray(multipleObjects) Then
  selObjects = Rhino.GetObject("Select objects color")
  objColor = Rhino.ObjectColor(selObjects)
  Rhino.Print "Color : " & objColor
  If IsNumeric(objColor) Then
    For Each strObject In multipleObjects
      Rhino.ObjectColor strObject, objColor
    Next
  End If
End If



Rhinoceros - Tools「工具」> RhinoScript「巨集指令码」> Run「执行巨集指令码」。

处理多数产品且有共同的格式分别

例如一个产品分别有原始 DWG 图形、尺寸标示、建立 3D Model 模型等相同名称的图层,且设置图层的颜色。

Rhino.Print "New Produc Layer:" & Rhino.AddLayer("BR250G::BR250G-DIM", RGB(255, 0, 255))
Rhino.Print "New Produc Layer:" & Rhino.AddLayer("BR250G::BR250G-DWG", RGB(255, 0, 255))
Rhino.Print "Colored Layer:" & Rhino.LayerColor("BR250G-DIM", RGB(0, 128, 255))
Rhino.Print "Colored Layer:" & Rhino.LayerColor("BR250G-DWG", RGB(255, 255, 0))


设置图层的颜色(经由已经选择的图层)

已经选择的 SelectedLayers 图层、可以按下 Shift 复选图层。返回阵列 Array 当前在 Rhino 界面中选择的图层的标识符。

Dim arrLayers, strId, strLayer
arrLayers = Rhino.SelectedLayers
If IsArray(arrLayers) Then
  For Each strId In arrLayers
    strLayer = Rhino.LayerName(strId)
    Rhino.Print "Colored Layer:" & Rhino.LayerColor(strLayer, RGB(170, 110, 220))
    Call Rhino.Print(strLayer)
  Next
End If


设置图层的颜色(名称符合 InStr 指定的图层)「区分大小写」

InStr() 比较字串、例如 "DIM" 字串 String,将一个字串由左而右与另一个比较,传回第一个相同的位置。InStr() 没有符合搜寻结果回传 0

Dim arrLayers,strLayer, i
Call Rhino.SelectLayers(null)
arrLayers = Rhino.LayerIds
For i = 0 to UBound(arrLayers)
  strLayer = Rhino.LayerName(arrLayers(i))
  If InStr(strLayer, "DIM") > 0 Then
    Rhino.Print "Colored Layer:" & Rhino.LayerColor(strLayer, RGB(170, 110, 220))
  End If
Next

RGB JavaScript, HSV 或 HSL 色码转换 RGB




Select Curves Length 选择指定长度

Rhino.IsCurve(), Rhino.CurveLength()

选择指定长度,或说是选择相同长度的 Curves 例如孔洞的曲线、散热孔、同尺寸的螺丝孔等。

Dim arrAllObjects, selectObject, curvelLength, intCount
intCount = 0
selectObject = Rhino.GetObject("Select Object")
curvelLength = Rhino.CurveLength(selectObject)
Rhino.Print "Select Curves Length: " & CStr(curvelLength)
arrAllObjects = Rhino.AllObjects
If IsArray(arrAllObjects) Then
  For Each strObject In arrAllObjects
    If Rhino.IsCurve(strObject) And Rhino.CurveLength(strObject) = curvelLength Then
      Rhino.SelectObject(strObject)
      intCount = intCount + 1
    End If
  Next
  Rhino.Print "Curves Selected: " & CStr(intCount)
End If


Rhinoceros 3D 工业设计应用

使用 Rhinoceros 3D 在工业设计领域的快速应用时,可以运用基于 NURBS 快速三维建模 Surface Creation 表面创建 Curves Editable 曲线和 Geometric Continuity 几何连续性或是 XNurbs Rhino 设计工具解决 Rhino 曲面设计的问题,产品设计上能够创造出复杂且精确建模符合实际尺寸和标准的模型、高度精细的完美配合。节省时间和成本、并且能够透过 .STEP 与其他 CAD 软件进行档案转换实现更有效的合作。例如转换匯入 Autodesk 3ds Max 的着色,创建工业产品的模型,例如发动机、减速机、螺桿升降模组、线性马达、齿轮和轴承、机械产品应用、汽车检测工具配件应用模型制作、建筑设计外观图、室内设计方案、造型艺术等设计方案。




传动产品、电脑绘图、3D 动画