[python-win32] problem AddLine AutoCAD win32com.client
DANIEL POSE
iinjdpa at gmail.com
Thu Feb 2 00:29:57 CET 2012
I have used array module because it worked with comtypes module. If I use
simple list it doesn't work with comtypes nor pywin32.
If I use:
pt1 = [0.0,0.0,0.0]
pt2 =[1.0,1.0,0.0]
Then Python responds:
<code>
Traceback (most recent call last):
File "<ipython console>", line 1, in <module>
File
"C:\Python27\lib\site-packages\spyderlib\widgets\externalshell\startup.py",
line 128, in runfile
execfile(filename, glbs)
File "C:\Documents and Settings\Administrador\Mis
documentos\DropboxDani\Dropbox\PYTHON\PruebaAutoCADLinea.py", line 16, in
<module>
line = ms.AddLine(pt1, pt2)
File "<COMObject <unknown>>", line 3, in AddLine
com_error: (-2147352567, 'Ocurri\xf3 una excepci\xf3n.', (0, None, None,
None, 0, -2147024809), None)
</code>
2012/2/1 Mark Hammond <mhammond at skippinet.com.au>
> Re-added the python-win32 list - please keep replies on list.
>
> Your code uses:
>
>
> > pt1 = array.array('d', [0.0,0.0,0.0])
> > pt2=array.array('d',[1.0,1.0,_**_0.0])
>
> But these aren't supported by pywin32 in the way you expect - what happens
> if you change this to:
>
> pt1 = [0.0,0.0,0.0]
> pt2 =[1.0,1.0,0.0]
>
> ?
>
> Mark
>
>
>
> On 2/02/2012 7:12 AM, DANIEL POSE wrote:
>
>> Hello Mark,
>>
>> I understand the AutoCAD problem, but in my profession it is the most
>> extended software for CAD. In my opinion it justify the efford to make
>> automation tools.
>> Here I post the answer from Python when I try to draw a line using
>> win32com.client code in my last mail:
>>
>> Traceback (most recent call last):
>> File "<ipython console>", line 1, in <module>
>> File
>> "C:\Python27\lib\site-**packages\spyderlib\widgets\**
>> externalshell\startup.py",
>> line 128, in runfile
>> execfile(filename, glbs)
>> File "C:\Documents and Settings\Usuario\Escritorio\**borrar.py", line
>> 15, in <module>
>> line = ms.AddLine(pt1, pt2) #This draw a line in AutoCAD
>> File "<COMObject <unknown>>", line 3, in AddLine
>> com_error: (-2147352567, 'Ocurri\xf3 una excepci\xf3n.', (0, None, None,
>> None, 0, -2147024809), None)
>>
>> Thank you in advance,
>> Daniel Pose.
>>
>> 2012/2/1 Mark Hammond <skippy.hammond at gmail.com
>> <mailto:skippy.hammond at gmail.**com <skippy.hammond at gmail.com>>>
>>
>>
>> Sadly not many people have access to autocad so it is hard to test.
>> What errors do you get using win32com?
>>
>> Mark
>>
>>
>> On 1/02/2012 5:11 AM, DANIEL POSE wrote:
>>
>> Hello,
>>
>> Recently I try to write some code to automate AutoCAD from Python.
>> I
>> have to draw lines from Python using win32com.client module, but I
>> obtain error. By other hand I solved the problem using comtypes
>> module.
>> However, If I try to obtain block attributes information, comtypes
>> doesn't work but win32com.client work properly.
>>
>> AutoCAD attributes working code (work for win32com.client but no
>> for
>> comtypes):
>> [code]
>> import win32com.client
>> acad= win32com.client.Dispatch("__**AutoCAD.Application")
>> doc = acad.ActiveDocument
>> seleccion=doc.SelectionSets.__**Add('selection1')
>>
>> seleccion.SelectOnScreen()
>> for objeto in seleccion:
>> if objeto.ObjectName=='__**AcDbBlockReference':
>> bloque=objeto.GetAttributes()
>> bloque[0].TagString='__**newattributename' #This change
>>
>> the name
>> for the first attribute in the selected block
>> [/code]
>>
>> Draw line (work for comtypes but doesn't work for win32com.client):
>> [code]
>> import comtypes.client
>> import array
>> acad = comtypes.client.__**GetActiveObject("AutoCAD.__**
>> Application")
>>
>> doc = acad.ActiveDocument
>> ms = doc.ModelSpace
>> pt1 = array.array('d', [0.0,0.0,0.0])
>> pt2=array.array('d',[1.0,1.0,_**_0.0])
>>
>> line = ms.AddLine(pt1, pt2) #This draw a line in AutoCAD
>> [\code]
>>
>> My question is: Is posible to fix the problem using win32com to
>> draw
>> autocad line in order to avoid comtypes use?
>> I found on the web several coments to the problem, but no solution.
>>
>> Thanks for help,
>> Daniel Pose.
>>
>>
>> ______________________________**___________________
>> python-win32 mailing list
>> python-win32 at python.org <mailto:python-win32 at python.**org<python-win32 at python.org>
>> >
>> http://mail.python.org/__**mailman/listinfo/python-win32<http://mail.python.org/__mailman/listinfo/python-win32>
>> <http://mail.python.org/**mailman/listinfo/python-win32<http://mail.python.org/mailman/listinfo/python-win32>
>> >
>>
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-win32/attachments/20120202/e633c4d9/attachment-0001.html>
More information about the python-win32
mailing list