我想在选择一个Brep的时候,高亮所选择的那个Face,
这么写,一直失败。。。
用GetPoint以后再 GetPoint.Constrain Method (Brep, Int32, Int32, Boolean) 好像不怎么方便
请你将问题的前因后果和背景介绍清楚,不然帖子放一个礼拜也不会有回帖的。
什么开发环境 整个程序什么目的 等等
GetResult 是选取的结果,不是选取的参数设置,只有选取结果是 Result.Point 的时候,get.Point() 才能有有效数值。
高亮所选择的 Face 可以参考下面的范例:
# coding=utf-8
import Rhino
import scriptcontext
def GetObject():
gs = Rhino.Input.Custom.GetObject()
gs.SetCommandPrompt("Select Brep surface")
gs.GeometryFilter = Rhino.DocObjects.ObjectType.Surface
gs.SubObjectSelect = True
gs.DeselectAllBeforePostSelect = True
gs.OneByOnePostSelect = True
gs.Get()
if gs.CommandResult()!=Rhino.Commands.Result.Success:
return gs.CommandResult()
objref = gs.Object(0)
obj = objref.Object()
if not obj: return Rhino.Commands.Result.Failure
surface = objref.Surface()
if not surface: return Rhino.Commands.Result.Failure
# HighlightSubObject 只能在选择的过程中亮一下
obj.HighlightSubObject(surface.ComponentIndex(),True)
# 让选完了还亮就得用 SelectSubObject 选中子物件
obj.SelectSubObject(surface.ComponentIndex(), True, True, True)
GetObject()
谢谢回复,这个问题已经接近