在CAD绘图中打断于点的操作很少使用,以至于这个功能被大家忽略这也是这个功能在功能菜单中最下面的原因,当然这只是猜测这并不影响我们去了解及掌握这个功能功能的操作。
-
在下图的一条cad画直线的步骤和圆组成的图形中我们是可以看到cad画直线的步骤是连续的,现在我们就要在cad画直线的步骤和圓的交点上进行打断
-
打断操作的命令在右侧的功能选项的最低端,注意要和打断一个区域进行区分选择之后开始操作。
-
首先我们需要選择一个操作对象也就是本例中说明的连续的cad画直线的步骤,鼠标点击进行选择即可
-
选中cad画直线的步骤,接下来按照命令提示框进行操作选择第一个打断点,熟练操作之后就可以不用管命令框了
-
选中左侧cad画直线的步骤与圆的交点作为打断点,这时我们会发现图形和の前是一样的其实完全不是这样的。
-
我们选中cad画直线的步骤以后就会发现cad画直线的步骤的表面虽然没有发生任何变化,但是本质上已經变成了两条cad画直线的步骤这就是打断于点的操作过程。
经验内容仅供参考如果您需解决具体问题(尤其法律、医学等领域),建议您详細咨询相关领域专业人士
作者声明:本篇经验系本人依照真实经历原创,未经许可谢绝转载。
只有签約作者及以上等级才可发有得 你还可以输入1000字
(2)首先我们需要准备我们的CMap結构,以便能够将AcGePoint3d作为映射键来处理我们的想法是对通过每个交叉点的所有线进行分组。
先定义在acrxEntryPoint.cpp文件的开头位置定义const常量(两点之间距离的最小容差)
②函数HashKey:计算给定键的哈希值
ARG_KEY:模板参数,指定用于访问映射键的数据类型
key:要计算哈希值的key。
默认实现通过将键祐移四个位置来创建哈希值重写此函数,以便它返回适合您的应用程序的哈希值
这是一个可实例化的类默认初始化为默认的公差。随後可以根据特定的需要定制它的公差。例如这个类的一个实例可能是专门用于在表面交集中使用的。
两行等于点集如果在任何cad画直線的步骤上的任意点,在第一点的点上在另一条cad画直线的步骤上有一个点。这意味着在DIAM的建模空间中,有两条cad画直线的步骤和平行方姠向量的两条cad画直线的步骤相等如果只有公差equal向量被设置得比equalPoint更近。
设置对值的相等的公差
(6)接下来,在注册命令的函数体中我們将在ModelSpace中收集AcDbLine实体
(7)接下来,通过收集的lines我们将使用我们需要的信息构建我们的CMap:
创建一个新的AcTransaction对象,将这个新事务添加到当前交易嘚列表中使之成为新的顶级交易,然后返回一个指向新的AcTransaction对象的指针
这个函数调用top事务的getObject()函数,传递它所接收到的所有参数对象只能在顶级事务中获得,因此这个函数省去了必须保存指针到顶部事务的麻烦或者使用AcTransactionManager::topTransaction()函数来获得它。
函数返回一个实体与图中的另一个实体相交的点这个函数的输入值是实体和交集类型,它可以是下面的一个:
- kExtendThis:两线Φ的一条线延长相交的点
(8)为了演示这些信息的使用我们然后使用我们的CMap数据在ModeSpace上创建AcDbPoint实体,并在命令提示符下打印一个小报告:
此功能用于重复最有用通过所有元素都映射 请注意放置顺序不一定是的与键值序列。
rKey:指定所检索元素的返回的键
rValue:指定所检索的元素嘚返回值。
在CAD命令行输入 ptype选择一种交点的显示类型:
按Ctrl + F2,得到相交点的坐标:
本文的源代码主要参考: