PS编程模型中有PsCutObjects类可以实现该目地。除了调用SetObjectId方法设置第一个物体,SetAsBooleanCut设置第二个物体外,关键的一步是要调用SetSubBodyTpye将类型设置为SubBodyType.kCoomenBody。
样例代码如下(VB.NET代码,可容易地改为C#):
Shared Sub Example_BooleanCut() ' 第一个物体被剪切,第二个物体是剪切体 Dim FirstShapeId As Long Dim SecondShapeId As Long Dim ksCutObjects As New PsCutObjects Dim Selection As New PsSelection FirstShapeId = Selection.PickObject("Select first object: ") If FirstShapeId <> 0 Then SecondShapeId = Selection.PickObject("Select second object: ") If SecondShapeId <> 0 Then ksCutObjects.SetObjectId(FirstShapeId) ksCutObjects.SetAsBooleanCut(SecondShapeId) ksCutObjects.SetSubBodyType(SubBodyType.kCommenBody) ksCutObjects.Apply() End If End If End Sub