xiagood 发表于 2004-9-9 09:41:00

请教

各位大侠:<BR>  你们好!<BR>我用acedCommand命令画线。但怎么执行时出现了异常。<BR>void DrawL()<BR>{<BR>               AcGePoint3d pt,pt1,pt2,pt3,pt4,pt5,pt6,pt7,pt8;<BR>               acedGetPoint(NULL,"Please select insert point:",asDblArray(pt));<BR>               pt1=pt;<BR>               pt1=pt;<BR>               pt2=pt1;<BR>               pt2=pt1+10;<BR>               pt3=pt2-5;<BR>               pt3=pt2;<BR>               pt4=pt3;<BR>               pt4=pt3+10;<BR>               pt5=pt4+20;<BR>               pt5=pt4;<BR>               pt6=pt5;<BR>               pt6=pt5-10;<BR>               pt7=pt6-5;<BR>               pt7=pt6;<BR>               pt8=pt7;<BR>               pt8=pt7-10;<BR>               acedCommand(RTSTR,"LINE",RT3DPOINT,pt1,RT3DPOINT,pt2,RT3DPOINT,pt3,RT3DPOINT,pt4,RT3DPOINT,pt5,RT3DPOINT,pt6,RT3DPOINT,pt7,RT3DPOINT,pt8,RT3DPOINT,pt1,0);<BR>}<BR>谢谢。。

zfbj 发表于 2004-9-9 10:06:00

我个人很少用acedCommand()函数,但是你混用了ARX和ADS的东西,把AcGePoint3d类型的变量换成ads_point试试,另外,最好把X、Y和Z都进行初始化。

xiagood 发表于 2004-9-9 13:24:00

谢谢版主。我改了下就可以了。<BR>void DrawL()<BR>{<BR>               ads_point pt,pt1,pt2,pt3,pt4,pt5,pt6,pt7,pt8;<BR>               acedGetPoint(NULL,"Please select insert point:",pt);<BR>               pt1=pt;<BR>               pt1=pt;<BR>               pt2=pt1;<BR>               pt2=pt1+10;<BR>               pt3=pt2-5;<BR>               pt3=pt2;<BR>               pt4=pt3;<BR>               pt4=pt3+10;<BR>               pt5=pt4+20;<BR>               pt5=pt4;<BR>               pt6=pt5;<BR>               pt6=pt5-10;<BR>               pt7=pt6-5;<BR>               pt7=pt6;<BR>               pt8=pt7;<BR>               pt8=pt7-10;<BR>       acedCommand(RTSTR,"LINE",RTPOINT,pt1,RTPOINT,pt2,RTPOINT,pt3,RTPOINT,pt4,RTPOINT,pt5,RTPOINT,pt6,RTPOINT,pt7,RTPOINT,pt8,RTSTR,"C",0);<BR>}

王咣生 发表于 2004-9-9 22:50:00

回复

加上关闭捕捉模式会好些


acedCommand(RTSTR, "OSMODE", RTSTR, "0", RTNONE);

jinzuofeng 发表于 2004-9-10 15:16:00

在ARX中少用acedCommand
页: [1]
查看完整版本: 请教