技术标签: CAA二次开发
本文是基于初步掌握vs进行caa二次开发而写,并且使用vs2008,2012都有写。故没有具体的图文,只有简短的文字,给自己新创建时提供便利。
以下内容以2008为例子,但2012类似,并且有加以说明
新建 workspace
新建 frame TestFrm
新建 module TestMdu
载入Api
加到解决方案
//vs2012要编辑idcard Edit ID Card 添加System public
新建 component TestAddin
TIE MODE选择 CATIPrtCfgAddin
// CATIAssemblyAddin/CATIPRDWokshopAddin是装配
新建commend TestCmd
style选择basic command
// vs2012是3DS Command
TestAddin.Cpp添加
// 如果文件名不一样,修改TestAddin,TestMdu,TestCmd
#include "CATCmdContainer.h"
#include "CATCreateWorkshop.h" // 包含管理Access 的一系列宏
#include "CATCommandHeader.h"
MacDeclareHeader(TestAddinHdr);
void TestAddin::CreateCommands()//**此处修改TestAddin,TestMdu,TestCmd
{
new TestAddinHdr ( "Generate",// command header标识符(也用于定义显示的文本或图标等资源)
"TestMdu", // 所关联command的代码在哪个模块/库/DLL里,module名字
"TestCmd", // 所关联的command名(即类名)
(void *)NULL); // 可选的传递参数(传递给command,确定不同的操作)
}
CATCmdContainer* TestAddin::CreateToolbars()//**此处修改TestAddin
{
NewAccess( CATCmdContainer, pWorkblankTlb, AddinToolbar );//AddinToolbar为窗口名字
// 参数:工具栏是CATCmdContainer的实例
// 参数:指向该工具栏的句柄指针
// 参数:该工具栏的标识符
// 2和自己命名,保证标识符唯一
NewAccess( CATCmdStarter, pWorkblankStr, WorkblankStr );
// 按钮是CATCmdStarter的实例,后两个同上
SetAccessCommand( pWorkblankStr, "Generate" ); // 关联(按钮句柄,Command Header标识符)
SetAccessChild( pWorkblankTlb , pWorkblankStr );
// 设置父子关系(父句柄,子句柄)
// 若在该工具栏上再添加一个按钮,则第三行改为设置邻接关系:
// SetAccessNext (WorkblankStr, 按钮句柄);
AddToolbarView ( pWorkblankTlb , 1 , Right );
// 参数:工具栏句柄
// 参数:工具栏可见,-1(默认) 不可见
// 参数:工具栏固定在右边
return pWorkblankTlb;
}
TestAddin.h添加
class CATCmdContainer;
//vs2012还要添加下行
#include "CATIPrtCfgAddin.h"
public类中添加
void CreateCommands();
CATCmdContainer * CreateToolbars();
mk添加
CATApplicationFrame
//vs2012多添加
CATPartInterfaces
identity添加
AddPrereqComponent("ApplicationFrame",Protected);
//vs2012多添加
PartInterfaces
Cmd.cpp中Activate函数添加
MessageBox(NULL,L"Hello World!",L"成功",MB_OK | MB_SYSTEMMODAL);
RequestDelayedDestruction();
//vs2012多添加
#include "CATCreateExternalObject.h"
CATCreateClass(TestCmd);
设置属性
mkmk
update runtime view
开始执行
添加到装配设计如下修改
Addin.h中添加:
#include "CATIAssyWorkBenchAddin.h"//添加到装配设计
.cpp中添加:
#include "TIE_CATIAssyWorkBenchAddin.h"
TIE_CATIAssyWorkBenchAddin(TestAddin);
.dico中添加:
TestAddin CATIAssyWorkBenchAddin libTestMdu
idcard中添加:
<prerequisite name="CATAssemblyInterfaces" access="Public" />
mk中添加:
CATWkAssyInterface
vs2008,vs2012好像这两个都是添加到装配设计(有待考察):
#include "CATIPRDWORKshopAddin.h"
#include "TIE_CATIPRDWorkshopAddin.h"
TIE_CATIPRDWorkshopAddin(TestAddin);
TestAddin CATIPRDWORKshopAddin libTestAddinMdu
prerequisite name="ProductStructureUI" access="Public" />
CATPrsWksPRDWorkshop
修改标识符
窗口名 AddinToolbar
按钮名 Generate
本文到此结束。
文章浏览阅读1.4k次。组合数学组合数学一直都是我们这些菜鸡颓废的地方,很多菜鸡往往受不住组合学的寂寞而坠落到人生深谷(本菜鸡就是一个)好了,扯淡解释对于组合数学,我们并不陌生,从小学六年级的奥数书上就早早地接触了,然后在预习高中数学的时候也接触了一下组合数学,是数学的一个分支,包括很多的原理,抽屉原理,加法原理,乘法原理,容斥原理他们为解决问题提供了思想方法1、抽屉原理(鸽巢原理)抽屉原理可以描述为 :把n+1个东西放入n个抽屉,至少有一个抽屉放了两个或两个以上的东西或者换一个角度说,把n-1件东西放入n个抽屉,_将2个红球,1个蓝球,1个白球放到10个编号不同的盒子中去,每个盒子最多放一个球。有
文章浏览阅读3.8k次。五子棋简单实现_棋盘数组=0
文章浏览阅读5.5k次。17位16进制mac字符串转为6位字节数组demo: unsigned char* byteArr = hexStringToByteArray(QString("A1-B2-C3-D4-E5-F6")).data();QVector<unsigned char> hexStringToByteArray(const QString& strMac){ Q..._qvector
文章浏览阅读199次。设置环境变量右键我的电脑→属性→高级系统设置→在下侧的系统变量中新建:变量值填自己的jdk路径就好。双击打开Path变量,点击编辑文本,在最前方加入“ %JAVA_HOME%\bin; ”(不过好像和老师讲得不一样……)使用IDEA若只新建com.day01.demo01, 在IDEA的工程列表里只会显示“一个包” (名为com.day01.demo01)如果再新建..._class member{private string name;//名字 public string getname(){ return
文章浏览阅读6.5k次,点赞13次,收藏33次。Unity Scroll View简单介绍_unity scroll view
文章浏览阅读8.6k次,点赞15次,收藏102次。HADOOP介绍1、 什么是HADOOP(1)HADOOP是apache旗下的一套开源软件平台(2)HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理(3)HADOOP的核心组件有: HDFS(分布式文件系统) YARN(运算资源调度系统) MAPREDUCE(分布式运算编程框架)(4)广义上来说,HADOOP通常是指一个更广..._hadoop生态都是开源
文章浏览阅读910次。1、打开最新版qq2、复制图片在qq中3、提取图片中的信息4、复制内容到想要用的地方_奔图扫描后可以复制
文章浏览阅读292次。1. shell是什么(1)现在我们使用的操作系统(Windows、Mac OS、Android、iOS 等)都是带图形界面的,简单直观,容易上手,对专业用户(程序员、网管等)和普通用户(家庭主妇、老年人等)都非常适用;计算机的普及离不开图形界面。然而在计算机的早期并没有图形界面,我们只能通过一个一个地命令来控制计算机,这些命令有成百上千之多,且不说记住这些命令非常困难,每天面对没有任何色彩的..._大部分情况下shell都会去调用内核暴露出来的接口,这就是在使用内核,其途径是(
文章浏览阅读211次。I have a JSP page called index.jsp. I have a Java variable called totalCount inside this page :Now I want to use this variable in Javascript section to generate a chart:How can I pass this Java variab..._jsp中的入script如何使用本页面中的java变量
文章浏览阅读1.2k次。网络工程基础-mac地址前言MAC地址(英语:Media Access Control Address),直译为媒体存取控制位址,也称为局域网地址(LAN Address)物理地址(Physical Address),它是一个用来确认网络设备位置的位址。是设备出厂时烧录在主板或者网卡上的。一般不能手动 更改,可以用软件重新烧录;本文章总结了MAC地址的一些知识,如果错误留言改正提示:以下是本篇文章正文内容,下面案例可供参考一、MAC地址- - - 基本了解1.1 MAC地址;也称硬件地址,用于_mac地址绑定和端口安全使能是一个东西吗
文章浏览阅读2.1k次,点赞6次,收藏21次。因为做毕设,想找个地方记录一下毕设当初写的东西。这是大二比赛的时候学弟给的滑动条的思路。第一部分,HSV模型进行颜色提取先放效果图:图1 左右摄像头采集到的乒乓球图像图 2 HSV模型颜色提取器图 2 HSV模型提取的效果图提取思路HSV总共有三个通道,用数组表示为,[ h_min, s_min, v_min ] , [ h_max, s_max, v_max ] 。实际操作中用滑动条来逼近临界值,用二值化图像窗口直观去判断效果是否合适。使用平台jetracer pro kit 智_用什么颜色作为目标提取工具
文章浏览阅读1.2k次。最大流问题例17用Ford-Fulkerson算法计算如图6网络中的最大流,每条弧上的两个数字分别表示容量和当前流量。图6最大流问题解编写程序如下:clc,clearu(1,2)=1;u(1,3)=1;u(1,4)=2;u(2,3)=1;u(2,5)=2;u(3,5)=1;u(4,3)=3;u(4,5)=3;f(1,2)=1;f(1,3)=0;f(1,4)=1;f(2,3)=0;f(2,5)=1;..._求解最大流的程序