线段求和源代码(支持线段、多段线、圆、椭圆、样条曲线)
public void my1()
{
Document acDoc = Application.DocumentManager.MdiActiveDocument;
Database acCurDb = acDoc.Database;
Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
try
{
using (Transaction acTrans = acCurDb.TransactionManager.StartTransaction())
{
BlockTable acBlkTbl;
acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId, OpenMode.ForRead) as BlockTable;
BlockTableRecord acBlkTblRec;
acBlkTblRec = acTrans.GetObject(acBlkTbl,
OpenMode.ForWrite) as BlockTableRecord;
PromptSelectionOpti** pso = new PromptSelectionOpti**();
PromptSelectionResult psr = ed.GetSelection(pso);
if (psr.Status == PromptStatus.OK)
{
Selecti**et ss = psr.Value;
int lcount = 0;
int n = ss.Count;
double result = 0;
for (int i = 0; iPromptStatus.OK Then Exit Sub
Dim OBJ As Object = AcTrans.GetObject(EntRec.ObjectId, OpenMode.ForRead)
Dim a As Ellipse = CType(OBJ, Ellipse)
b = a.Spline
MsgBox(a.GetDistAtPoint(a.EndPoint))
End Using
这样才是对的! 如果是VB的。我坚决相信把A的类型改成Object.就可以直接通用到所有的有长度的对象了!
页:
[1]