pucx 发表于 2012-7-7 22:42:07

请问如何选择与一条直线相交的其他直线

请问使用C#如何选择cad中与某一条直线相交或者刚好相接在一起(包括一条直线的端点与该直线的中间某一个地方相接,或者该直线端点与其他直线的端点相接)的其他直线,谢谢。

sxpd 发表于 2012-7-9 19:44:41

用选择集的拦选

pucx 发表于 2012-7-9 23:25:10

sxpd 发表于 2012-7-9 19:44 static/image/common/back.gif
用选择集的拦选

谢谢您的回答,能不能给个具体点的说明呢?

sxpd 发表于 2012-7-10 06:08:03

外地旅游ing
好像是ss.SelectF....函数
低版本没有该函数
不过拦选也有问题
有时选不着,并且必须拦选范围可见

jiangfei200809 发表于 2012-7-27 11:43:04

SelectionSet pSelectSet = pDocument.Editor.SelectAll().Value;
            SelectionSet pSelectSet1 = pDocument.Editor.GetSelection().Value;

            using (Transaction tran = pDatabase.TransactionManager.StartTransaction())
            {
                Entity entity = tran.GetObject(pSelectSet1.GetObjectIds(), OpenMode.ForRead) as Entity;
                BlockTableRecord pBlockTableRecord = (BlockTableRecord)tran.GetObject(pDatabase.CurrentSpaceId, OpenMode.ForWrite);

                foreach (ObjectId pObjId in pSelectSet.GetObjectIds())
                {
                  Entity pEntity = tran.GetObject(pObjId, OpenMode.ForWrite) as Entity;
                  Point3dCollection p3dCollection=new Point3dCollection();
                  entity.IntersectWith(pEntity, Intersect.OnBothOperands, p3dCollection, 0, 0);

                  if (p3dCollection.Count > 0)
                  {
                        pEntity.ColorIndex = 3;
                  }
                  
                }
                tran.Commit();
            }lz试下这个代码 可以选择出所有与某一块相交的实体

single-yu 发表于 2013-1-30 18:38:11

楼上的方法只适合线段比较少的情况,如果有大量的线条,遍历每个线条,那就太慢了!
页: [1]
查看完整版本: 请问如何选择与一条直线相交的其他直线