查看单个帖子
旧 2009-04-18, 10:55 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】通过两点打断一条直线的arx程序请帮忙!

通过两点打断一条直线的arx程序请帮忙!
通过两点打断一条直线的arx程序请帮忙!
我想通过编程实现下述功能:
编程画了一条直线:
acgepoint3d startpt,endpt;
acdbblocktable *pblocktable;
acdbhostapplicationservices()->workingdatabase()->getsymboltable(pblocktable,acdb::kforread);
acdbblocktablerecord *pblockrecord;
pblocktable->getat(acdb_modoal_space,pblockrecord,acdb::kforwrite);
pblocktable->close();
startpt.set(100.0,100.0,0);
endpt.set(.0,100.0,0);
acdbline *pline;
pline=new acdbline(startpt,endpt);
acdbobjectid id;
pblockrecord->appendacdbentity(id,pline);
pline->close();
上面直线画好了。现在我已知这条直线上的两点pt1,pt2:
acgepoint3d pt1(120.0,100.0,0),pt2(160.0,100.0,0);
我请教如何通过编程在pt1和pt2点打断这条直线并删除pt1和pt2两点之间部分,保留其余部分。
这个功能用acedcommand()函数利用autocad本身带的break命令能实现吗?如何实现?
请赐教一段程序,不胜感激!!
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)