CAD获取一个图形上所有直线的交点.docx_第1页
CAD获取一个图形上所有直线的交点.docx_第2页
CAD获取一个图形上所有直线的交点.docx_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CAD获取一个图形上所有直线的交点纯数学运算的方法做的 通过构建二元一次方程 然后 判断相交点是否在线上.代码完全可行哈using(vartr=doc.TransactionManager.StartTransaction()varlines=newList();foreach(ObjectIdidinres.Value.GetObjectIds()lines.Add(Line)tr.GetObject(id,OpenMode.ForRead);Listpts=newList();for(intm=0;mlines.Count;m+)LineSegment3dls1=newLineSegment3d(linesm.StartPoint,linesm.EndPoint);for(intn=m+1;nlines.Count;n+)LineSegment3dls2=newLineSegment3d(linesn.StartPoint,linesn.EndPoint);CurveCurveIntersector3dcc3d=newCurveCurveIntersector3d(ls1,ls2,Vector3d.ZAxis);if(cc3d.NumberOfIntersectionPoints=1)pts.Add(cc3d.GetIntersectionPoint(0);BlockTablebt=tr.GetObject(db.BlockTableId,OpenMode.ForRead)asBlockTable;BlockTableRecordbtr=tr.GetObject(db.CurrentSpaceId,OpenMode.ForWrite)asBlockTableRecord;foreach(varptinpts)Circlec=newCircle(pt,Vector3d.ZAxis,1);btr.AppendEntity(c);tr.AddNewlyCreatedDBObject(c,true);tr.Commit();另一个可行切简洁的代码CommandMethod(tx1)publicstaticvoidCrossCAD()vardoc=Application.DocumentManager.MdiActiveDocument;vardb=doc.Database; vared=doc.Editor;varsf=newSelectionFilter(newTypedValuenewTypedValue(0,line);varres=ed.SelectAll(sf);if(res.Status!=PromptStatus.OK)return;using(vartr=doc.TransactionManager.StartTransaction()varlines=newList();foreach(ObjectIdidinres.Value.GetObjectIds()lines.Add(Line)tr.GetObject(id,OpenMode.ForRead);Listpts=newList();for(intm=0;mlines.Count;m+)LineSegment3dls1=newLineSegment3d(linesm.StartPoint,linesm.EndPoint);for(intn=m+1;nlines.Count;n+)LineSegment3dls2=newLineSegment3d(linesn.StartPoint,linesn.EndPoint);CurveCurveIntersector3dcc3d=newCurveCurveIntersector3d(ls1,ls2,Vector3d.ZAxis);if(cc3d.NumberOfIntersectionPoints=1)pts.Add(cc3d.GetIntersectionPoint(0);BlockTablebt=tr.GetObject(db.BlockTableId,OpenMode.ForRead)asBlockTable;BlockTableRecordbtr=tr.GetObject(db.CurrentSpaceId,OpenMode.ForWrite)asBlockTableRecord;foreach(varptinpts)Circlec=n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论