[python-win32] Strange issues when using pywin32 to develop solidworks
nicolas jacky
skrapp at hotmail.com
Mon Oct 5 20:45:06 EDT 2020
I test below code snippets in vscode with enviroment of python 3.8, pywin32 build 228, solidworks 2017 API sets and created .py files by makepy, I get some strange errors.
first snippet
# -*- coding: utf-8 -*-
from win32com.client import *
from pythoncom import *
swx = Dispatch("SldWorks.Application")
swModel = swx.ActiveDoc
mathUilty = swx.GetMathUtility
compName = []
Trans = [1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]
CoordName = []
compName.append(r'C:\Users\admin\Desktop\abc.SLDASM')
CoordName.append('')
vtName = VARIANT(VT_VARIANT, compName)
vtTrans = VARIANT(VT_VARIANT, Trans)
vtCoordName = VARIANT(VT_VARIANT, CoordName)
swModel.AddComponents3(vtName,vtTrans,vtCoordName)
Running this code and vscode says:
line 15, in <module>
swModel.AddComponents3(vtName,vtTrans,vtCoordName)
TypeError: 'NoneType' object is not callable
If I code it like this 'swModel.AddComponents3' then it's ok. the function definition is:
System.object AddComponents3(
System.object Names,
System.object Transforms,
System.object CoordinateSystemNames
)
second snippet
# -*- coding: utf-8 -*-
from win32com.client import *
from pythoncom import *
swx = Dispatch("SldWorks.Application")
swModel = swx.ActiveDoc
mathUilty = swx.GetMathUtility
vtPoint = VARIANT(VT_VARIANT, [100.0,0.0,0.0])
vtVec = VARIANT(VT_VARIANT, [0.0,0.0,1.0])
point = mathUilty.CreatePoint(vtPoint)
axis = mathUilty.CreateVector(vtVec)
trans = mathUilty.CreateTransformRotateAxis(point,axis,3.14*30.0/180.0)
print(trans)
Running this code and vscode says:
line 9, in __call__
return self._get_good_object_(self._oleobj_.Invoke(*allArgs),self._olerepr_.defaultDispatchName,None)
pywintypes.com_error: (-2147352573, 'Member not found.', None, None)
the function 'CreatePoint' and 'CreateVector' is not the member of mathuilty, the functions definition are:
System.object CreatePoint(
System.object ArrayDataIn
)
System.object CreateVector(
System.object ArrayDataIn
)
Could somebody can kindly find out what happened for these issues? thanks very much!
And you can find the redist of solidworks inhttp://u.163.com/nnnnnnFnC. access code: fomwl84g
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-win32/attachments/20201006/05f0650c/attachment-0001.html>
More information about the python-win32
mailing list