版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、CAA 培训,刘宝明,第一章 CAA二次开发一般步骤,1.程序的建立 2.添加Workbench 3.创建Addin 4.添加命令响应,第一章 CAA二次开发一般步骤,1.程序的建立 1.1 工程的建立 在VC“File”菜单中选择“New CAA V5 Workspace”,出现对话框如图所示: 在工程路径中选择或创建路径,选择“Tool Level”为“V5R18_B18”,点击Next。,第一章 CAA二次开发一般步骤,1.程序的建立 1.1 工程的建立 创建Framework 系统提供了4个可用选项,选择第二项。,第一章 CAA二次开发一般步骤,1.程序的建立 1.1 工程的建立 输入
2、Framework名字、选择其类型。 Framework提供两种类型:应用和接口。功能也有三种:运用、测试和教学。,输入名称,类型选择,第一章 CAA二次开发一般步骤,1.程序的建立 1.1 工程的建立 确定Workspace的创建。,第一章 CAA二次开发一般步骤,1.程序的建立 1.1 工程的建立 确定后VC文件视图如下:,此时生成了一个带有一个Framework的Workspace。CAA的开发提供了两种模式:批处理模式(Batch Mode)和交互模式(Interactive Mode)。我们开发主要用到的是交互模式。在此模式下,可以创建两种交互界面:Workshop(Workbenc
3、h)和Addin。前者是创建一个新的模块,在这个模块中除了标准的命令,其余均由用户开发。后者指在已经存在的Workbench中插入新的工具条和命令。,第一章 CAA二次开发一般步骤,1.程序的建立 1.1 工程的建立,PublicInterfaces:公共接口,在这个文件夹中是类的声明,即.h头文件。这些类可以为整个Framework的各个模块共享,也可以被外部Framework使用。,Cnext文件夹:包含了Resources和Code两部分,其作用下文会具体阐述。,第一章 CAA二次开发一般步骤,1.程序的建立 1.1 工程的建立,IdentityCard.h:本文件定义了所有用于编译使用
4、此Framework的预定义Framework。即,在开发过程中如果使用了系统或者外部的API,必须包含此API所在的头文件、module和Framework,其中Framework的预定义就在这个文件中进行。其格式如下: AddPrereqComponent(ApplicationFrame,Protected);,第一章 CAA二次开发一般步骤,1.程序的建立 1.2定义prerequisite,在建立工程后,必须先指定CATIA的安装路径,以搜索开发所需要的API资源。点击“CAAV5 Workspace” “Locate Prerequisite Workspace”,添加CATIA的
5、安装路径。也就是定义prerequisite。此路径为Intele_a文件夹的上层路径。,第一章 CAA二次开发一般步骤,1.程序的建立 1.3 编译程序 选择编译命令MKMK,第一章 CAA二次开发一般步骤,2.添加Workbench 下面的例子,我们在MechenicalDesign(机械设计)中插入一个名为“MyWkb”的Workbench。具体步骤如下:,2.1 添加Module,File - Add CAAV5 Project -New Module,第一章 CAA二次开发一般步骤,2.添加Workbench,2.1 添加Module,弹出对话框如图所示,Module名称,共享模块,
6、第一章 CAA二次开发一般步骤,2.添加Workbench,2.1 添加Module,创建成功后, VC中的文件视图如右,Module文件夹:Module为组织程序代码的一个基本容器。,LocalInterfaces中是仅供本模块使用的头文件集合;Src是所有本模块的.cpp文件集合;Imakefile.mk文件是所有本模块所包含的头文件所在外部Module的定义。在上面提到的IdentityCard.h中定义的是API所在的Framework,而相应的Module即在此文件中定义。在LINK_WITH后面添加需要连接的Modules。,第一章 CAA二次开发一般步骤,2.添加Workbenc
7、h,2.2 添加CATIA Pattern,第一章 CAA二次开发一般步骤,2.添加Workbench,2.2 添加CATIA Pattern,添加Workbench,输入名字,单击此处,第一章 CAA二次开发一般步骤,2.添加Workbench,2.2 添加CATIA Pattern,点击接口浏览按钮,选择与Workbench所连接的Workshop。这里选择PRDWorkshop,即为Product空间。在新创建的Workbench中,会包含Product空间的一些基本标准命令,如插入产品等。,第一章 CAA二次开发一般步骤,2.添加Workbench,2.2 添加CATIA Patter
8、n,选择No,点击Next,第一章 CAA二次开发一般步骤,2.添加Workbench,2.2 添加CATIA Pattern,选择如图,点击Finish,第一章 CAA二次开发一般步骤,2.添加Workbench,2.3 编译并运行程序,第一章 CAA二次开发一般步骤,2.添加Workbench,2.4 定义资源,在文件:MyWkb.CATNIS中,可以定义此Workbench以及其工具条、菜单的所有名字(Title),定义格式为: MyWkb.Title=MyWkb title;,第一章 CAA二次开发一般步骤,2.添加Workbench,2.4 定义资源,在文件:MyWkb.CATRsc
9、中,可以定义此Workbench的图标(Icons)和其放置路径(Category)。前者暂不说明,后者说明如下: MyWkb.Category=Infrastructure; Category可以为:Infrasturcture,MechanicalDesign,Shape,。分别对应于已有的Workshop。我们将其改为:MechanicalDesign。,一个完整的Workbench创建完毕。,第一章 CAA二次开发一般步骤,3.创建Addin,新建一个module命名为PartAddin,并将它设为当前活动项。 (2) 做接口CATIPrtWksAddin的implemention,所
10、谓Addin,是在系统已有的Workbench中插入新的工具条或者菜单。下面的例子,我们来在PartDesign中插入一个工具条 。,第一章 CAA二次开发一般步骤,3.创建Addin,点击TIE mode 的Add按钮,输入名字DrawComp,第一章 CAA二次开发一般步骤,3.创建Addin,要选择的接口为CATIPrtWksAddin 注意Search workspace为CATIA安装路径,并将下面的单选框设为空。点ok完成。,第一章 CAA二次开发一般步骤,3.创建Addin,(3)创建工具条和菜单,添加两个函数,void CreateCommands(); CATCmdConta
11、iner * CreateToolbars();,void MyAddin:CreateCommands() new PartCmdHeader(point,PartAddin,“PointCmd,(void *)NULL); new PartCmdHeader(line,PartAddin,LineCmd,(void *)NULL); ,第一个参数是按钮的名字,第二、三个代表按钮执行的命令所在的module和命令的名字,参数四缺省。,第一章 CAA二次开发一般步骤,3.创建Addin,(3)创建工具条和菜单,添加两个函数,CATCmdContainer * MyAddin:CreateToo
12、lbars() NewAccess(CATCmdContainer,pPartBenchTlb,PartBenchTlb); NewAccess(CATCmdStarter,pPointCmd,PointCmd); SetAccessCommand(pPointCmd,point); SetAccessChild(pPartBenchTlb,pPointCmd); NewAccess(CATCmdStarter,pLineCmd,LineCmd); SetAccessCommand(pLineCmd,line); SetAccessNext(pPointCmd,pLineCmd); /创建菜单
13、 NewAccess(CATCmdContainer,pCAAAfrOperationMbr,CAAAfrOperationMbr); NewAccess(CATCmdContainer,pMyMenu,绘图); SetAccessChild(pCAAAfrOperationMbr,pMyMenu);,第一章 CAA二次开发一般步骤,3.创建Addin,(3)创建工具条和菜单,添加两个函数,NewAccess(CATCmdStarter,ppoint,Point); SetAccessCommand(ppoint,point); SetAccessChild(pMyMenu,ppoint);
14、NewAccess(CATCmdStarter,pline,Line); SetAccessCommand(pline,line); SetAccessNext(ppoint,pline); SetAddinMenu(pPartBenchTlb,pCAAAfrOperationMbr); AddToolbarView (pPartBenchTlb,1,Top); return pPartBenchTlb; ,第一章 CAA二次开发一般步骤,3.创建Addin,(4)添加头文件及宏定义,头文件: #include CATCmdContainer.h #include CATCreateWorks
15、hop.h #include CATCommandHeader.h,宏定义: MacDeclareHeader(PartCmdHeader);,第一章 CAA二次开发一般步骤,在.mk文件中加入: CATApplicationFrame 在Identitycard.h中加入: AddPrereqComponent(ConstraintModelerUI,Protected); AddPrereqComponent(ApplicationFrame,Protected);,3.创建Addin,(5)添加包含的模块,第一章 CAA二次开发一般步骤,在MyFrameCNextresourcesmsg
16、catalog文件夹下,建立两个文件: MyAddin.CATNls 和 PartCmdHeader.CATRsc 在MyAddin.CATNls添加语句: PartBenchTlb.Title=绘图; 在 PartCmdHeader.CATRsc中添加语句: PartCmdHeader.point.Icon.Normal = I_CAAPoint ;,3.创建Addin,(5)添加资源,第一章 CAA二次开发一般步骤,3.创建Addin,(5)添加资源,建立cnext/resourcesgraphic IconsNormal文件夹 在该文件夹中添加图标 I_CAAPoint.bmp 编译运行
17、,第一章 CAA二次开发一般步骤,4.添加命令响应,第一章 CAA二次开发一般步骤,4.添加命令响应,输入命令名称,选择命令类型 这里我们选Basic command,第一章 CAA二次开发一般步骤,4.添加命令响应,添加头文件: #include 在Activate函数中加入语句: AfxMessageBox(_T(Hello! Point Command); 编译运行,第二章 CAA V5对话框介绍,1. 插入新的对话框,第二章 CAA V5对话框介绍,1. 插入新的对话框,输入名字,第二章 CAA V5对话框介绍,1. 插入新的对话框,第二章 CAA V5对话框介绍,2. 添加所需控件,
18、用Frame控制格局,第二章 CAA V5对话框介绍,2. 添加所需控件,用Container控制间距,属性设置 宽、高为5,5,第二章 CAA V5对话框介绍,2. 添加所需控件,在Field CATPathElement spPath = pEditor-GetUIActiveObject( ); CATBaseUnknown* pcurrbase = spPath.CurrentElement( ); CATILinkableObject *piLinkableObject = NULL; HRESULT rc = pcurrbase-QueryInterface( IID_CATILi
19、nkableObject,(void*) ,第三章 CATIA函数工厂及拓展类,2.获取当前打开的Part对象,CATIPrtPart_var GlobalFunction:GetPart() CATInit_var spInit = GetDocument(); CATIPrtPart_var spPart=NULL_var ; if (NULL_var != spInit) CATIPrtContainer* piPartContainer = (CATIPrtContainer*) spInit - GetRootContainer(CATIPrtContainer); if (NULL
20、 != piPartContainer ) spPart = piPartContainer - GetPart(); return spPart; ,第三章 CATIA函数工厂及拓展类,3.获取函数工厂指针,CATIGSMFactory* GlobalFunction:GetFact() CATInit_var spInit = GetDocument(); CATIGSMFactory* pFact=NULL; if (NULL_var != spInit) CATIPrtContainer* piPartContainer = (CATIPrtContainer*) spInit - G
21、etRootContainer(CATIPrtContainer); if (NULL != piPartContainer ) piPartContainer - QueryInterface(IID_CATIGSMFactory ,(void*) ,第三章 CATIA函数工厂及拓展类,4.获取根容器,CATIContainer_var GlobalFunction:GetContainer() CATInit_var spInit = GetDocument(); CATIContainer_var pCont =NULL_var; if (NULL_var != spInit) pCon
22、t = (CATIContainer_var)spInit - GetRootContainer(CATIPrtContainer); return pCont; ,第三章 CATIA函数工厂及拓展类,5.创建长度,HRESULT GlobalFunction :CreateLength (const char* ipNameParam ,const double iValue, CATISpecObject_var ,第三章 CATIA函数工厂及拓展类,6.根据坐标值创建点,CATISpecObject_var GlobalFunction :CreatePointCoord(CATLIST
23、V(CATISpecObject_var) ,第三章 CATIA函数工厂及拓展类,7.插入特征到当前视图,HRESULT GlobalFunction:InsertInProceduralView(const CATISpecObject_var #endif ,第三章 CATIA函数工厂及拓展类,8.更新显示对象,HRESULT GlobalFunction :ObjectUpdate(const CATISpecObject_var ,第三章 CATIA函数工厂及拓展类,练习图形绘制编程 完善全局函数类,第三章 CATIA函数工厂及拓展类,9.创建几何图形集(CreateGeometric
24、alSet ),CATISpecObject_var GlobalFunction:CreateGeometricalSet(CATUnicodeString iName,int iPosition) HRESULT rc = S_OK ; CATISpecObject_var oGeomSet; CATIPrtPart_var spPart = GetPart(); CATISpecObject_var spSpecPart = spPart; CATIMechanicalRootFactory_var spMechRoot = GetContainer() ; CATISpecObject
25、_var MyBody; if (NULL_var != spMechRoot) rc= spMechRoot - CreateGeometricalSet (iName,spSpecPart,oGeomSet,iPosition); if (NULL_var != oGeomSet ) if (NULL_var != spPart) spPart - SetCurrentFeature(oGeomSet); return oGeomSet ; ,所创建的几何图形集在Part下,请编写另一函数,使创建的几何图形集在指定的目标位置(可创建子节点),第三章 CATIA函数工厂及拓展类,10.创建轴
26、系统(CreateNewAxis ),CATIMf3DAxisSystem_var GlobalFunction:CreateNewAxis(CATISpecObject_var OriantPoint,CATISpecObject_var XAxisPoint,CATISpecObject_var YAxisPoint) CATIPrtContainer_var ispPartContainer=GetContainer(); CATMathPoint Origin (.0,.0,.0); CATMathVector Xdir (1.0,0.0,.0); CATMathVector Ydir
27、 (0.0,1.0,.0); CATIMf3DAxisSystem_var NewAxisSystemStd ; CATIMf3DAxisSystemFactory * pIMf3DAxisSystemFactoryOnFeatCont = NULL ; ispPartContainer-QueryInterface(IID_CATIMf3DAxisSystemFactory,(void *) ,第三章 CATIA函数工厂及拓展类,11.创建草图( CreateSketch ),CATBoolean CAAUserTools:CreateSketch(CATISpecObject_var Sk
28、etchPlane) if(NULL != piPartContainer) CATISketchFactory_var spSketchFactory(piPartContainer); if ( NULL_var = spSketchFactory ) return 0; spSketch =spSketchFactory-CreateSketch(SketchPlane); if ( NULL_var = spSketch ) return 0; CATI2DWFFactory_var sketch2DFactory(spSketch); double pt12 = 100., 100.
29、, pt22 = -100., 100., pt32 = -100., -100., pt42 = 100., -100.; / Edits the sketch and draws the lines and the endpoints. spSketch-OpenEdition(); CATISpecObject_var spLine1 = sketch2DFactory-CreateLine(pt1,pt2); CATISpecObject_var spLine2 = sketch2DFactory-CreateLine(pt2,pt3); CATISpecObject_var spLi
30、ne3 = sketch2DFactory-CreateLine(pt3,pt4); CATISpecObject_var spLine4 = sketch2DFactory-CreateLine(pt4,pt1); CATI2DCurve_var spCurveOnLine1(spLine1); spCurveOnLine1-GetStartPoint(); spCurveOnLine1-GetEndPoint(); CATI2DCurve_var spCurveOnLine2(spLine2); spCurveOnLine2-GetStartPoint(); spCurveOnLine2-
31、GetEndPoint(); CATI2DCurve_var spCurveOnLine3(spLine3); spCurveOnLine3-GetStartPoint(); spCurveOnLine3-GetEndPoint(); CATI2DCurve_var spCurveOnLine4(spLine4); spCurveOnLine4-GetStartPoint(); spCurveOnLine4-GetEndPoint(); spSketch-CloseEdition(); CATISpecObject_var spSpecTmp; spSpecTmp=spSketch; Inse
32、rtInProceduralView(spSpecTmp); / Update ObjectUpdate(spSpecTmp); return TRUE; ,第三章 CATIA函数工厂及拓展类,12.创建实体( CreatePad。 ),CATBoolean CAAUserTools:CreateSketch(CATISpecObject_var SketchPlane) if(NULL != piPartContainer) CATISketchFactory_var spSketchFactory(piPartContainer); if ( NULL_var = spSketchFact
33、ory ) return 0; spSketch =spSketchFactory-CreateSketch(SketchPlane); if ( NULL_var = spSketch ) return 0; CATI2DWFFactory_var sketch2DFactory(spSketch); double pt12 = 100., 100., pt22 = -100., 100., pt32 = -100., -100., pt42 = 100., -100.; / Edits the sketch and draws the lines and the endpoints. sp
34、Sketch-OpenEdition(); CATISpecObject_var spLine1 = sketch2DFactory-CreateLine(pt1,pt2); CATISpecObject_var spLine2 = sketch2DFactory-CreateLine(pt2,pt3); CATISpecObject_var spLine3 = sketch2DFactory-CreateLine(pt3,pt4); CATISpecObject_var spLine4 = sketch2DFactory-CreateLine(pt4,pt1); CATI2DCurve_va
35、r spCurveOnLine1(spLine1); spCurveOnLine1-GetStartPoint(); spCurveOnLine1-GetEndPoint(); CATI2DCurve_var spCurveOnLine2(spLine2); spCurveOnLine2-GetStartPoint(); spCurveOnLine2-GetEndPoint(); CATI2DCurve_var spCurveOnLine3(spLine3); spCurveOnLine3-GetStartPoint(); spCurveOnLine3-GetEndPoint(); CATI2
36、DCurve_var spCurveOnLine4(spLine4); spCurveOnLine4-GetStartPoint(); spCurveOnLine4-GetEndPoint(); spSketch-CloseEdition(); CATISpecObject_var spSpecTmp; spSpecTmp=spSketch; InsertInProceduralView(spSpecTmp); / Update ObjectUpdate(spSpecTmp); return TRUE; ,加一个拾取平面的对话框,第三章 CATIA函数工厂及拓展类,实战练习:通过二次开发创建轴
37、系统、创建草图、创建实体,要求:采用交互式的操作方式,拾取点、线、面,第四章 自动标注角度程序开发,1. 建立参考面对话框,第四章 自动标注角度程序开发,2. 添加state command 继承CATMMUIPanelStateCmd类 3. 添加必备函数 CATDlgDialog* GiveMyPanel(); CATBoolean OkAction(void *); void UpdatePanelFields(); void SetCurrentField(int ActiveField); void ElementSelected(CATFeatureImportAgent *pAg
38、ent);,第四章 自动标注角度程序开发,(1)OkAction(void *) 响应与命令关联的对话框OK按钮消息 (2) UpdatePanelFields() 更新显示对话框中的拾取列表信息 if ( _CurrentField =1 ) CATUnicodeString numofyuansu; numofyuansu.BuildFromNum(_FBListNum); /CATUnicodeString name= _piSpecOnFace-GetType( ); if(_FBListNum=0) g_ExtractFubanFace.RemoveAll(); _panel-_Se
39、lectorListFuban-SetLine(_piSpecOnFace-GetDisplayName()+.+numofyuansu,_FBListNum+,CATDlgDataModify); ,选择元素后,列表内显示特征名称,第四章 自动标注角度程序开发,(3) SetCurrentField(int ActiveField) 响应与命令关联的对话框OK按钮消息 (4) SetCurrentField(int ActiveField) 设置当前激活输入的列表框 SetCurrentField(int ActiveField) / this method main goal is to
40、show the user that the acquisition / is now dedicated to the input field _CurrentField = ActiveField; / first lets empty current highlighted objects if ( NULL != _HSO ) _HSO-Empty(); / Gets a pointer on CATISpecObject on the geometrical element to highlight CATISpecObject *piSpecOnGeomElem = NULL; i
41、f ( 1 = ActiveField ) piSpecOnGeomElem = _piSpecOnFace; if ( 2 = ActiveField ) piSpecOnGeomElem = _piSpecOnLine; if ( 3 = ActiveField ) piSpecOnGeomElem = _piSpecOnWBFace; if ( 4 = ActiveField ) piSpecOnGeomElem = _piSpecOnWBLine; if ( 5 = ActiveField ) piSpecOnGeomElem = _piSpecOnWBPt1; if ( 6 = Ac
42、tiveField ) piSpecOnGeomElem = _piSpecOnWBPt2; if ( (piSpecOnGeomElem != NULL) / puts the focus on the Active Field is the Combined Curve edition dialog box ,SetActiveField(int iFieldNumber) / Deselects all others field when changing of active field ( by clicking in another one ). if ( 1 != iFieldNu
43、mber ) _SelectorListFuban - ClearSelect(); if ( 2 != iFieldNumber ) _SelectorListFubanLine - ClearSelect(); if ( 3 != iFieldNumber ) _SelectorListWanbian - ClearSelect(); if ( 4 != iFieldNumber ) _SelectorListWanbianLine - ClearSelect(); if ( 5 != iFieldNumber ) _SelectorListWanbianPt1 - ClearSelect
44、(); if ( 6 != iFieldNumber ) _SelectorListWanbianPt2 - ClearSelect(); return ; ,点击后为激活状态,第四章 自动标注角度程序开发,(5) ElementSelected(CATFeatureImportAgent *pAgent) 用于提取选择的元素 ElementSelected(CATFeatureImportAgent *pAgent) if ( (pAgent = NULL) return; / translates the selection into the good pointer on a CATBa
45、seUnknwon model element CATBaseUnknown *pSelection = pAgent-GetElementValue(pAgent-GetValue(); if ( NULL != pSelection ) / gets a pointer on CATISpecObject for this element CATISpecObject *piSpecOnSelection = NULL; HRESULT rc = pSelection-QueryInterface(IID_CATISpecObject, (void*) ,第四章 自动标注角度程序开发,4.
46、 编写BuildGraph函数内容 在该函数内完成state机制的建立,(1)在头文件内定义所需变量 CATISpecObject * _piSpecOnQumian; CATFrmEditor *_editor; CATHSO *_HSO; CATFeatureImportAgent *_pFaceAgent,*_pLineAgent, *_pWBFaceAgent,*_pWBLineAgent,*_pWBPt1Agent,*_pWBPt2Agent; CATDialogAgent *_pFaceFieldAgent, *_pLineFieldAgent, *_pWBFaceFieldAge
47、nt, *_pWBLineFieldAgent,*_pWBPt1FieldAgent, *_pWBPt2FieldAgent; CATISpecObject *_piSpecOnFace , *_piSpecOnLine, *_piSpecOnWBFace , *_piSpecOnWBLine,*_piSpecOnWBPt1 , *_piSpecOnWBPt2;,第四章 自动标注角度程序开发,4. 编写BuildGraph函数内容,(2)定义Agent(输出特征) _pFaceAgent = new CATFeatureImportAgent ( FaceAgent , NULL , NULL
48、 , MfNoDuplicateFeature ) ; _pLineAgent = new CATFeatureImportAgent ( LineAgent , NULL , NULL , MfNoDuplicateFeature ) ; _pWBFaceAgent = new CATFeatureImportAgent ( FaceAgent , NULL , NULL , MfNoDuplicateFeature ) ; _pWBLineAgent = new CATFeatureImportAgent ( LineAgent , NULL , NULL , MfNoDuplicateF
49、eature ) ; _pWBPt1Agent = new CATFeatureImportAgent ( PointAgent , NULL , NULL , MfNoDuplicateFeature ) ; _pWBPt2Agent = new CATFeatureImportAgent ( PointAgent , NULL , NULL , MfNoDuplicateFeature ) ;,第四章 自动标注角度程序开发,4. 编写BuildGraph函数内容,(2)定义Agent(列表框激活) _pFaceFieldAgent = new CATDialogAgent ( FaceAc
50、tiveFieldAgent ) ; _pLineFieldAgent = new CATDialogAgent ( LineActiveFieldAgent) ; _pWBFaceFieldAgent = new CATDialogAgent ( FaceActiveFieldAgent ) ; _pWBLineFieldAgent = new CATDialogAgent ( LineActiveFieldAgent) ; _pWBPt1FieldAgent = new CATDialogAgent ( PointActiveFieldAgent ) ; _pWBPt2FieldAgent
51、 = new CATDialogAgent ( PointActiveFieldAgent) ;,第四章 自动标注角度程序开发,4. 编写BuildGraph函数内容,(3)添加拾取类型过滤(面提取) _pFaceAgent - SetOrderedElementType ( CATIMfBiDimResult ); _pFaceAgent - AddOrderedElementType ( CATFace ); _pFaceAgent - AddOrderedElementType ( CATPlane ); _pFaceAgent - AddOrderedElementType ( CAT
52、Surface ); _pFaceAgent - AddOrderedElementType ( CATISketch ); _pFaceAgent - AddOrderedElementType ( CATIGSMExtractMulti); _pFaceAgent - AddOrderedElementType ( CATIGSMExtractSolide); _pFaceAgent - AddOrderedElementType ( CATIGSMExtrapol); _pFaceAgent - SetBehavior ( CATDlgEngWithPrevaluation | CATD
53、lgEngWithCSO | CATDlgEngOneShot ); _pFaceAgent - SetAgentBehavior ( MfPermanentBody | MfLastFeatureSupport | MfRelimitedFeaturization );,第四章 自动标注角度程序开发,4. 编写BuildGraph函数内容,(3)添加拾取类型过滤(线提取) _pLineAgent - SetOrderedElementType ( CATIMfBiDimResult ); _pLineAgent - SetOrderedElementType ( CATIMfLine );
54、_pLineAgent - AddOrderedElementType ( CATCurve ); _pLineAgent - AddOrderedElementType ( CATEdge ); _pLineAgent - AddOrderedElementType ( CATLine ); _pLineAgent - AddOrderedElementType ( CATIGSMAxisLine ); _pLineAgent - AddOrderedElementType ( CATIGSMExtractMulti); _pLineAgent - AddOrderedElementType
55、 ( CATIGSMExtractSolide); _pLineAgent - AddOrderedElementType ( CATIGSMExtrapol); _pLineAgent - SetBehavior ( CATDlgEngWithPrevaluation | CATDlgEngWithCSO |CATDlgEngOneShot); _pLineAgent - SetAgentBehavior ( MfPermanentBody | MfLastFeatureSupport | MfRelimitedFeaturization );,第四章 自动标注角度程序开发,4. 编写Bui
56、ldGraph函数内容,(3)添加拾取类型过滤(点提取) _pWBPt2Agent - SetOrderedElementType ( CATPoint ); _pWBPt2Agent - AddOrderedElementType ( CATPointOnSurface ); _pWBPt2Agent - AddOrderedElementType ( CATPointOnEdgeCurve ); _pWBPt2Agent - AddOrderedElementType ( CATISketch); _pWBPt2Agent - AddOrderedElementType ( CATIGSM
57、ExtractMulti); _pWBPt2Agent - AddOrderedElementType ( CATIGSMExtractSolide); _pWBPt2Agent - AddOrderedElementType ( CATIGSMExtrapol); /_pWBPt2Agent - AddOrderedElementType ( CATVertex ); /_pWBPt2Agent - AddOrderedElementType ( CATIGSMPoint ); _pWBPt2Agent - SetBehavior ( CATDlgEngWithPrevaluation |
58、CATDlgEngWithCSO |CATDlgEngOneShot); _pWBPt2Agent - SetAgentBehavior ( MfPermanentBody | MfLastFeatureSupport | MfRelimitedFeaturization );,第四章 自动标注角度程序开发,4. 编写BuildGraph函数内容,(4)添加即时更新对话框语句 _pFaceFieldAgent - AcceptOnNotify ( _panel-_SelectorListFuban , _panel-_SelectorListFuban-GetListSelectNotific
59、ation() ); _pLineFieldAgent - AcceptOnNotify ( _panel-_SelectorListFubanLine , _panel-_SelectorListFubanLine-GetListSelectNotification() ); _pWBFaceFieldAgent - AcceptOnNotify ( _panel-_SelectorListWanbian , _panel-_SelectorListWanbian-GetListSelectNotification() ); _pWBLineFieldAgent - AcceptOnNotify ( _panel-_SelectorListWanbianLine , _panel-_SelectorListWanbianLine-GetListSelectNotification() ); _pWBPt1FieldAgent - AcceptOn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江西九江市赣北劳动保障事务代理所招聘劳务派遣制员工22人备考题库及完整答案详解一套
- 2025年洛阳市卫生健康系统医疗卫生机构招聘联考拟享受加分政策人员备考题库完整答案详解
- 2026山东德州市国企外包岗位工作人员招聘备考题库及参考答案详解
- 2026年度安阳市市直机关公开遴选公务员备考题库有答案详解
- 2026山东威海市乳山鑫蜜客人力资源有限公司招聘派遣至乳山市属国有企业3人备考题库及1套完整答案详解
- 2026广西南宁市宾阳县陈平镇生态护林员选聘(续聘)5人备考题库及完整答案详解一套
- 2026广西贺州市昭平县赴玉林师范学院招聘教师68人备考题库及一套参考答案详解
- 2026广西柳州市柳江区禁毒委员会办公室招聘编外人员1人备考题库及参考答案详解
- 2026云南临沧市沧源佤族自治县妇幼保健院招聘编外合同制人员7人备考题库及1套完整答案详解
- 2025北京市第九十九中学招聘备考题库含答案详解
- 2025承揽加工订做合同范本
- 托幼机构传染病应急处置预案
- 合欢花苷类对泌尿系感染的抗菌作用
- 汕头市金平区2025届九年级数学第一学期期末检测试题含解析
- 工程施工监理技术标
- 2023年司法鉴定所党支部年终总结
- 肿瘤生物学1(完整版)
- cie1931年标准色度观测者的光谱色品坐标
- 2023-2024学年广东省广州市小学数学二年级上册期末自我评估试题
- YS/T 971-2014钛镍形状记忆合金丝材
- 方小丹建筑地基基础设计的若干问题课件
评论
0/150
提交评论