python catia 接口_如何使用自己创建的CATIA V5自动化接口与Python?
我为catiav5创建了自己的自动化接口。我的接口实现了一个CAA接口。
下面是SetComment方法的示例实现。CAIAinterface是个假名字// MyXYZClass : SetComment
HRESULT MyXYZClass::SetComment( CATISpecObject_var ispObject, const
CATBSTR &irComment )
{
CAAInterface_var spInfo = ispObject;
if( !!spInfo )
{
CATUnicodeString commentToSet;
commentToSet.BuildFromBSTR( irComment );
spInfo->SetComment( commentToSet );
}
return S_OK;
}
我在CATIA环境中使用CATScript进行了测试:
^{pr2}$
另外,我创建了visualstudioVB项目,添加了引用->COM->类型库(我的CATIA V5 MyXYZAutInterf。如果CATIA正在运行,我可以看到它)。在Imports System.Runtime.InteropServices
Imports MyXYZAutInterf
Imports MECMOD
Imports ProductStructureTypeLib
' attach catia
Sub Main()
' retrieve ASMPRODUCT of Part or Product
Dim product As Product
product = CATIA.ActiveDocument.Product
' Retrieve My Factory of Document
Dim myFact As MyFactoryVB
myFact = product
' Retrieve Object as part
Dim part1 As Part
part1 = CATIA.ActiveDocument.Part
' Find object by Name
Dim myObject As AnyObject
myObject = part1.FindObjectByName("Pad.1")
' SetComment
myFact.SetComment(myObject, "comment")
End Sub
而且效果也很好。在
现在我想使用我的自动化接口与Python# First I generated wrapper code for my type library
import sys
if not hasattr(sys, "frozen"):
from comtypes.client import GetModule
GetModule("C:/..//MyXYZTypeLib.tlb")
#load my module
from comtypes.gen import MyXYZAutInterf as myModul
# myModul -> MyFactoryVB --
# Connecting to windows COM
catapp = win32com.client.Dispatch("CATIA.Application")
documents1 = catapp.Documents
partDocument1 = documents1.Item("Part.CATPart")
part1 = partDocument1.Part
bodies1 = part1.Bodies
body1 = bodies1.Item("PartBody")
shapes1 = body1.Shapes
shape1 = shapes1.Item("Pad.1")
myFact = myModul.MyFactoryVB()
# now I can see all my implemented methods under _methods_
但现在我无法使用我的事实。
如果我这样做:myFact.SetComment(shape1, "comment")
我得到错误:需要一个COM this指针作为第一个参数。
我应该将我的事实分配给产品(如CATScript):product1 = catapp.ActiveDocument.Product
myFact = product1
但我也得到了错误:未知.SetComment.
我真的很沮丧。有人能帮帮我吗,请?在
python catia 接口_如何使用自己创建的CATIA V5自动化接口与Python?相关推荐
- python同花顺交易接口_开启量化第一步!同花顺iFinD数据接口免费版简易操作教程...
金融市场波动频繁,投资往往会夹杂非理性的情绪.而量化交易,旨在以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种"大概率"事件以制定策略, ...
- python本科生就业_准备报学习机构学习大数据、Java或者python,是计算机专业的本科生,请问选择哪种就业发展比较好?...
谢邀.对比java和python后者还算是小语种.不知道楼主的具体情况如何.根据个人情况,建议先学java,毕竟你目前的需求是尽快找到更合适的技术工作,java择业面相对较宽,虽然也难学,但学习资源丰 ...
- python 释放内存_学了4年C++后,我转向了Python
作者 | asya f 编译 | Lisa C++ 已经学不动了,现在换 Python 还来得及吗?一位四年工作经验的 C++ 程序员亲述转型历程,这不仅仅是语言上的转变,而是代码思维甚至工作环境的转 ...
- 雷电2接口_地表最强?代替电脑的所有接口,雷电3或有望一统接口江湖
近年来在苹果和英特尔的大力推动下,市面上带有雷电3的设备已经越来越多了,除了苹果的MacBook系列笔记本电脑配备了雷电3接口外,越来越多的Windows笔记本电脑也开始使用雷电3接口. 而且我们可以 ...
- python 取反_自从用了这招pandas 空数据处理方法,python编程速度提升了不少
今天为大家带来的内容是:自从用了这招pandas 空数据处理方法,python编程速度提升了不少 文章内容主要介绍了pandas 空数据处理方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工 ...
- sata接口_固态硬盘应该怎么选?是SATA接口还是M.2接口好
我们在组装电脑时,都会遇到很多有关硬件的问题,这主要的原因是我们对硬件的不熟悉,还有就是硬件的不断更新换代,因而在硬件的选配上不知如何选择. 就如硬盘的选择,在固态硬盘还没有成为主流配置,机械硬盘的选 ...
- python open函数_精选2个小例子,带你快速入门Python文件处理
阅读本文大概需要7分钟讲完了函数和模块,我们来讲一讲文件的使用,python对数据的处理分两种一种是本地文件的处理,另外一种是通过网络数据处理(也就是爬虫相关的).而本地的数据处理,主要是通过文件的读 ...
- python爱心代码_「含蓄优雅表白神器」程序员式用python代码画爱心(附详细教程)...
还能用python代码画爱心?还有这种操作?这是什么原理? 不相信python代码可以画爱心?先来一张效果图来看看效果吧! 用python代码画爱心的思路是怎样的? 1.怎么画心形曲线 2.怎么填满心 ...
- 显示器接口_【知识小科普】什么是DP接口?DP接口可以转接那些接口?|显示器|mini|端口|amd|dvi...
DisplayPort(简称DP)是第一个依赖数据包化数据传输技术的显示通信端口.是一个由PC及芯片制造商联盟开发,视频电子标准协会标准化的数字式视频接口标准.主要用于视频源与显示器等设备的连接,它既 ...
最新文章
- Flask之threading.loacl方法
- selenium的简单介绍
- linux的文件搜索命令,Linux文件搜索命令find的用法 | 术与道的分享
- LeetCode 1671. 得到山形数组的最少删除次数(最长上升子序DP nlogn)
- iframe 跨域 cookies操作
- 机器学习预测信贷风险
- 基于卷积神经网络的微表情识别研究需要注意的一些问题【未完待续】
- 设计模式系列- 迭代器模式
- 给java虚拟机增加一个属性,java -D
- viewport属性
- Linux中的sort排序
- 2017年2月14日
- visio2013专业版激活密匙
- 架构探险-从零开始写Javaweb框架读书笔记(4)
- cattee翻译_钻机词汇中英翻译
- J2me 开源的wap浏览器源代码分析
- HTML2CANVAS 合成图片
- win7计算机资源管理器卡住,Win7电脑资源管理器一直卡住怎么办_Win7电脑资源管理器一直卡住的解决方法 - 系统家园...
- 职业高中计算机英语必背单词,高中英语3500个必背单词.pdf
- 【POJ 3311】Hie with the Pie(状压DP)