明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1305|回复: 4

请教

[复制链接]
发表于 2004-9-9 09:41:00 | 显示全部楼层 |阅读模式
各位大侠:
  你们好!
我用acedCommand命令画线。但怎么执行时出现了异常。
void DrawL()
{
AcGePoint3d pt,pt1,pt2,pt3,pt4,pt5,pt6,pt7,pt8;
acedGetPoint(NULL,"Please select insert point:",asDblArray(pt));
pt1[X]=pt[X];
pt1[Y]=pt[Y];
pt2[X]=pt1[X];
pt2[Y]=pt1[Y]+10;
pt3[X]=pt2[X]-5;
pt3[Y]=pt2[Y];
pt4[X]=pt3[X];
pt4[Y]=pt3[Y]+10;
pt5[X]=pt4[X]+20;
pt5[Y]=pt4[Y];
pt6[X]=pt5[X];
pt6[Y]=pt5[Y]-10;
pt7[X]=pt6[X]-5;
pt7[Y]=pt6[Y];
pt8[X]=pt7[X];
pt8[Y]=pt7[Y]-10;
acedCommand(RTSTR,"LINE",RT3DPOINT,pt1,RT3DPOINT,pt2,RT3DPOINT,pt3,RT3DPOINT,pt4,RT3DPOINT,pt5,RT3DPOINT,pt6,RT3DPOINT,pt7,RT3DPOINT,pt8,RT3DPOINT,pt1,0);
}
谢谢。。
发表于 2004-9-9 10:06:00 | 显示全部楼层
我个人很少用acedCommand()函数,但是你混用了ARX和ADS的东西,把AcGePoint3d类型的变量换成ads_point试试,另外,最好把X、Y和Z都进行初始化。
 楼主| 发表于 2004-9-9 13:24:00 | 显示全部楼层
谢谢版主。我改了下就可以了。
void DrawL()
{
ads_point pt,pt1,pt2,pt3,pt4,pt5,pt6,pt7,pt8;
acedGetPoint(NULL,"Please select insert point:",pt);
pt1[X]=pt[X];
pt1[Y]=pt[Y];
pt2[X]=pt1[X];
pt2[Y]=pt1[Y]+10;
pt3[X]=pt2[X]-5;
pt3[Y]=pt2[Y];
pt4[X]=pt3[X];
pt4[Y]=pt3[Y]+10;
pt5[X]=pt4[X]+20;
pt5[Y]=pt4[Y];
pt6[X]=pt5[X];
pt6[Y]=pt5[Y]-10;
pt7[X]=pt6[X]-5;
pt7[Y]=pt6[Y];
pt8[X]=pt7[X];
pt8[Y]=pt7[Y]-10;
acedCommand(RTSTR,"LINE",RTPOINT,pt1,RTPOINT,pt2,RTPOINT,pt3,RTPOINT,pt4,RTPOINT,pt5,RTPOINT,pt6,RTPOINT,pt7,RTPOINT,pt8,RTSTR,"C",0);
}
发表于 2004-9-9 22:50:00 | 显示全部楼层

回复

加上关闭捕捉模式会好些


acedCommand(RTSTR, "OSMODE", RTSTR, "0", RTNONE);
发表于 2004-9-10 15:16:00 | 显示全部楼层
在ARX中少用acedCommand
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 09:49 , Processed in 0.165391 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表