Re: [python-win32] problem AddLine AutoCAD win32com.client

2012-02-01 Thread Mark Hammond

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.hamm...@gmail.com
mailto:skippy.hamm...@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@python.org mailto:python-win32@python.org
http://mail.python.org/__mailman/listinfo/python-win32
http://mail.python.org/mailman/listinfo/python-win32





___
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32


Re: [python-win32] problem AddLine AutoCAD win32com.client

2012-02-01 Thread DANIEL POSE
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 mhamm...@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.hamm...@gmail.com
 mailto:skippy.hammond@gmail.**com skippy.hamm...@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@python.org 
 mailto:python-win32@python.**orgpython-win32@python.org
 

 http://mail.python.org/__**mailman/listinfo/python-win32http://mail.python.org/__mailman/listinfo/python-win32

 http://mail.python.org/**mailman/listinfo/python-win32http://mail.python.org/mailman/listinfo/python-win32
 





___
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32


Re: [python-win32] problem AddLine AutoCAD win32com.client

2012-02-01 Thread Dan Glassman
Daniel,

I've tested a prerelease version of pywin32 that contains the new
win32com.client.VARIANT class and it works well with AutoCAD.  Once
released, you can write something like this:


import win32com.client
import pythoncom

def POINT(x,y,z):
   return win32com.client.VARIANT(pythoncom.VT_ARRAY | pythoncom.VT_R8,
(x,y,z))

acad = win32com.client.Dispatch('AutoCAD.Application')
ms = acad.ActiveDocument.ModelSpace
ms.AddLine(POINT(0,0,0), POINT(1,1,0))

Additional information in Mark's original post on win32com.client.VARIANT:
http://mail.python.org/pipermail/python-win32/2011-October/011844.html

-drg

On Wed, Feb 1, 2012 at 5:29 PM, DANIEL POSE iinj...@gmail.com wrote:

 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 mhamm...@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.hamm...@gmail.com
 mailto:skippy.hammond@gmail.**com skippy.hamm...@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@python.org 
 mailto:python-win32@python.**orgpython-win32@python.org
 

 

[python-win32] problem AddLine AutoCAD win32com.client

2012-01-31 Thread DANIEL POSE
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@python.org
http://mail.python.org/mailman/listinfo/python-win32


Re: [python-win32] problem AddLine AutoCAD win32com.client

2012-01-31 Thread Mark Hammond
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@python.org
http://mail.python.org/mailman/listinfo/python-win32


___
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32