python使用CAD使用AddExtrudedSolidAlongPath时报错TypeError: The Python instanc...
本帖最后由 w8826543 于 2022-5-23 21:55 编辑具体代码如下
import math
import win32com
import pythoncom
import win32com.client as win32
def vtpnt(x, y, z):
return win32com.client.VARIANT(pythoncom.VT_ARRAY | pythoncom.VT_R8, (x, y, z))
def vtobj(obj):
return win32com.client.VARIANT(pythoncom.VT_ARRAY | pythoncom.VT_DISPATCH, obj)
def vtfloat(lst):
return win32com.client.VARIANT(pythoncom.VT_ARRAY | pythoncom.VT_R8, lst)
def vtvariant(var):
return win32com.client.VARIANT(pythoncom.VT_ARRAY | pythoncom.VT_VARIANT, var)
def vtint(val):
return win32com.client.VARIANT(pythoncom.VT_ARRAY | pythoncom.VT_I2, val)
acad = win32.Dispatch("AutoCAD.Application")
msp = acad.ActiveDocument.ModelSpace
STP=vtpnt(10,10,5)
EDP=vtpnt(100,100,50)
LIN=msp.Addline(STP,EDP)
cc=msp.AddCircle(STP,5)
pt1=vtpnt(0,0,0)
pt2=vtpnt(0,0,10)
cc.Rotate3D(STP,pt2,3.14)
dy1=110-10
dx1=100-10
angle1 = math.atan2(dy1, dx1)
cc.Rotate3D(STP,EDP,angle1)
list_obj = []
list_obj.append(cc)
ccc=msp.AddRegion(vtobj(list_obj))
RetVal11 = msp.AddExtrudedSolidAlongPath(ccc, LIN)
RetVal = object.AddExtrudedSolidAlongPath(Profile, Path)
其中
Path
Access: Input-only
Type: Arc, Circle, Ellipse, Polyline, Spline
The path can only be a Polyline, Circle, Ellipse, Spline, or Arc object.
第二个参数只能是Arc, Circle, Ellipse, Polyline, Spline中的一个,不能是直线 就是第二个参数错了,直线不可以的 陨落 发表于 2022-5-24 09:04
RetVal = object.AddExtrudedSolidAlongPath(Profile, Path)
其中
Path
list=(10,10,5,100,100,50)
listv=vtfloat(list)
pline=msp.AddPolyline(listv)
RetVal11 = msp.AddExtrudedSolidAlongPath(ccc, pline)
还是报同样的错啊 烟盒迷唇 发表于 2022-5-24 15:19
就是第二个参数错了,直线不可以的
list=(10,10,5,100,100,50)
listv=vtfloat(list)
pline=msp.AddPolyline(listv)
RetVal11 = msp.AddExtrudedSolidAlongPath(ccc, pline)
还是报同样的错啊 那就不懂了,3D的没弄过 烟盒迷唇 发表于 2022-5-25 10:30
那就不懂了,3D的没弄过
谢谢回复!已解决!
页:
[1]