案例:ex_activeviewport.py
import Rhino
import scriptcontext
def ActiveViewport():
view = scriptcontext.doc.Views.ActiveView
if view is None: return
if isinstance(view, Rhino.Display.RhinoPageView):
if view.PageIsActive:
print "The layout", view.PageName, "is active"
else:
detail_name = view.ActiveViewport.Name
print "The detail", detail_name, "on layout", view.PageName, "is active"
else:
print "The viewport", view.MainViewport.Name, "is active"
if __name__ == "__main__":
ActiveViewport()
功能
这段代码用于获取当前Rhino视图中的激活视口,并输出视口的名称和类型。
解析:ex_activeviewport.py
这段代码首先调用scriptcontext.doc.Views.ActiveView方法获取当前激活的视图,然后通过判断视图类型,确定当前激活的是视口还是视图。如果激活的是视口
,则输出视口的名称;如果激活的是视图
,则输出视图的名称。
视图是用于展示模型的窗口,可以包含多个视口,每个视口可以显示不同的模型区域,并具有不同的缩放比例和方向。
import Rhino
import scriptcontext
def ActiveViewport():
view = scriptcontext.doc.Views.ActiveView
if view is None: return
if isinstance(view, Rhino.Display.RhinoPageView):
if view.PageIsActive:
print "The layout", view.PageName, "is active"
else:
detail_name = view.ActiveViewport.Name
print "The detail", detail_name, "on layout", view.PageName, "is active"
else:
print "The viewport", view.MainViewport.Name, "is active"
if __name__ == "__main__":
ActiveViewport()
import Rhino
导入了Rhino的Python模块,该模块提供了许多Rhino软件的功能和类,可以在Python脚本中调用和使用。例如,可以使用Rhino模块中的函数和类来创建、编辑、查询Rhino中的几何对象,或者访问Rhino软件的文档、图层、视图等信息。
Rhino.Python的官方文档地址:
https://developer.rhino3d.com/api/rhinoscript/
import scriptcontext
导入了Rhino的Python脚本上下文
模块,该模块提供了与Rhino软件上下文相关的函数和类。在Rhino.Python脚本中,可以使用scriptcontext模块来访问当前文档、选中的对象、视图、图层等信息,或者执行Rhino软件的命令和操作。