glhu3 发表于 2005-8-13 18:17:00

通过两点打断一条直线的ARX程序请帮忙!

<P>我想通过编程实现下述功能:</P>
<P>编程画了一条直线:</P>
<P>AcGePoint3d startPt,endPt;</P>
<P>AcDbBlockTable *pBlockTable;</P>
<P>acdbHostApplicationServices()-&gt;workingDatabase()-&gt;getSymbolTable(pBlockTable,AcDb::kForRead);</P>
<P>AcDbBlockTableRecord *pBlockRecord;</P>
<P>pBlockTable-&gt;getAt(ACDB_MODOAL_SPACE,pBlockRecord,AcDb::kForWrite);</P>
<P>pBlockTable-&gt;close();</P>
<P>startPt.set(100.0,100.0,0);</P>
<P>endPt.set(200.0,100.0,0);</P>
<P>AcDbLine *pLine;</P>
<P>pLine=new AcDbLine(startpt,endPt);</P>
<P>AcDbObjectId id;</P>
<P>pBlockRecord-&gt;appendAcDbEntity(id,pLine);</P>
<P>pLine-&gt;close();</P>
<P>上面直线画好了。现在我已知这条直线上的两点Pt1,Pt2:</P>
<P>AcGePoint3d Pt1(120.0,100.0,0),Pt2(160.0,100.0,0);</P>
<P>我请教如何通过编程在Pt1和Pt2点打断这条直线并删除Pt1和Pt2两点之间部分,保留其余部分。</P>
<P>这个功能用acedCommand()函数利用AutoCAD本身带的break命令能实现吗?如何实现?</P>
<P>请赐教一段程序,不胜感激!!</P>
页: [1]
查看完整版本: 通过两点打断一条直线的ARX程序请帮忙!