请教
各位大侠:<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>谢谢。。 我个人很少用acedCommand()函数,但是你混用了ARX和ADS的东西,把AcGePoint3d类型的变量换成ads_point试试,另外,最好把X、Y和Z都进行初始化。 谢谢版主。我改了下就可以了。<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>}回复
加上关闭捕捉模式会好些acedCommand(RTSTR, "OSMODE", RTSTR, "0", RTNONE); 在ARX中少用acedCommand
页:
[1]