今天我们来述说有关┏ cad二次开发网站 ┛CAD二次开发vba,以下2个关于cad二次开发网站的观点希望能帮助到您找到想要的答案。
CAD中VBA二次开发
本文贡献者:【笙歌已沫i】, 疑问关键字:cad二次开发网站, 下面就让重庆云诚科技小编为你解答,希望本文能找到您要的答案!
最佳答案这个要求你得说清楚,因为在CAD中,当你偏移某条曲线时,曲线并不是简单的在另一个地方复制,而是所有的点都位于原线对应点的法线上.所以,对于某些曲线,可能偏移后于某点处无法线,即线于该处将断开.所以,你说的与OFFSET相似的命令的含义不清楚,是不是可以要求对任意图形包括实体在内,如果是这样,我感到可以用复制命令.如果你只是想再现OFFSET,则有点难,因为:首先在根据线型调用不同的函数,不同的线型有不同的构成方法,然后得到各个节点的法线方向后才能实现.一条270度包含角的曲线,其一侧的法线方向是朝多个方向变化的,太麻烦了,我估计没有十页纸做不下来.
以上就是重庆云诚科技小编解答(笙歌已沫i)解答关于“CAD中VBA二次开发”的答案,接下来继续为你详解投稿用户(心陌南尘)分析“CAD二次开发 VBA 如何读取图元属性 坐标 并输出到文本”的一些相关解答,希望能解决你的问题!
CAD二次开发 VBA 如何读取图元属性 坐标 并输出到文本
本文贡献者:【心陌南尘】, 疑问关键字:cad二次开发网站, 下面就让重庆云诚科技小编为你解答,希望本文能找到您要的答案!
最佳答案 Set acadApp = GetObject("autocad.application")
If Err Then
Err.Clear
Set acadApp = CreateObject("autocad.application")
If Err Then
MsgBox ("不能运行CAD,请检查是否安装")
Exit Sub
End If
End If
acadApp.Visible = False
cadApp.Documents.Open filename, True '打开一个图
Dim Lt As AcadLayer
Dim uCircle As AcadCircle
Dim cen(0 To 2) As Double
Dim obj As AcadObject
Dim CC As Variant
Dim i As Integer, t As Integer
Dim Repeat As Boolean '检测是否重复
On Error GoTo err_0
Me.MousePointer = 11
i = 1
txtcir.Clear
Listcir.Clear
Listprog.Clear
'For Each Lt In acadApp.ActiveDocument.Layers
For Each obj In acadApp.ActiveDocument.ModelSpace
' Debug.Print obj.ObjectName & " Layer:" & Lt.Name
If LCase(obj.ObjectName) = "acdbcircle" Then
Set uCircle = obj
' ' MsgBox obj.ObjectName
If uCircle.Layer = Trim(Layer) Then
CC = uCircle.Center
Repeat = False
'取x,y最大值
If CC(0) > x_max Then x_max = CC(0)
If CC(1) > y_max Then y_max = CC(1)
If uCircle.Diameter > d_max Then d_max = uCircle.Diameter
自己补全吧
今天的内容先分享到这里了,读完本文《┏ cad二次开发网站 ┛CAD二次开发vba》之后,是否是您想找的答案呢?想要了解更多,敬请关注www.cqycseo.com,您的关注是给小编最大的鼓励。
推荐文章:
本文由网上采集发布,不代表我们立场,转载联系作者并注明出处:https://www.cqycseo.com/kangadmin/makehtml_archives_action.php?endid=0&startid=-1&typeid=15&totalnum=6115&startdd=3340&pagesize=20&seltime=0&sstime=1679321406&stime=&etime=&uptype=&mkvalue=0&isremote=0&serviterm=
