求一段vb二次开发cad的代码

如题,我主要是在遍历空间实体,然后获得实体属性这儿不知道怎么写,哪位大侠能提供一段这样的代码,如果能把各种实体都讲一下,那更好。
首先谢谢你们的回答,但是我要的是纯vb代码, laiwenyi2006的是vba代码,我给个具体的实体嘛,就块。我使用的工具是VB6.0,cad2006

第1个回答  2009-06-26
((-1 . <图元名: 7aa0bf88>) (0 . "LWPOLYLINE") (330 . <图元名: 7aa0bcf8>) (5 .
"F1") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 .
"AcDbPolyline") (90 . 5) (70 . 1) (43 . 0.0) (38 . 0.0) (39 . 0.0) (10 558.344
515.854) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 1019.94 765.048) (40 . 0.0) (41 .
0.0) (42 . 0.0) (10 1253.07 499.552) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10
817.118 194.464) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 434.786 268.99) (40 .
0.0) (41 . 0.0) (42 . 0.0) (210 0.0 0.0 1.0))

LWPOLYLINE 的DXF组码值为:
100
子类标记 (AcDbPolyline)

90
顶点数

70
多段线标志(按位编码);默认值为 0:
1 = 关闭;128 = Plinegen

43
固定宽度(可选;默认值 = 0)。如果设置为可变宽度(代码 40 和/或 41),则不使用

38
标高(可选;默认值 = 0)

39
厚度(可选;默认值 = 0)

10
顶点坐标(在 OCS 中),多个条目;每个顶点一个条目
DXF:X 值;APP:二维点

20
DXF:顶点坐标的 Y 值(在 OCS 中),多个条目;每个顶点一个条目

40
起点宽度(多个条目;每个顶点一个条目)(可选;默认值 = 0;多个条目)。如果设置为固定宽度(代码 43),则不使用

41
端点宽度(多个条目;每个顶点一个条目)(可选;默认值 = 0;多个条目)。如果设置为固定宽度(代码 43),则不使用

42
凸度(多个条目;每个顶点一个条目)(可选;默认值 = 0)

210
拉伸方向(可选;默认值 = 0, 0, 1)
DXF:X 值;APP:三维矢量

220, 230
DXF:拉伸方向的 Y 值和 Z 值(可选)
第2个回答  2009-06-25
Option Explicit

Sub test()
Dim ent As AcadEntity
For Each ent In ThisDrawing.ModelSpace
MsgBox ent.EntityName '采用循环,输出各个实体的实体名
Next
MsgBox "共有" & ThisDrawing.ModelSpace.Count & "个实体!“"
End Sub

具体需要什么属性,得你自己把握了。本回答被提问者采纳

谁能帮我编一段用VB对CAD进行二次开发的程序代码啊
ThisDrawing.Utility.GetPoint()在ACAD中这是最常用的方法之一,它需要两个参数,在逗号前面的参数应该是一个点坐标,它的作用是在屏幕上画一条线,前一个端点位于点坐标位置,后一个端点跟随鼠标移动,逗号之前可以什么都不填,这时没有线条会跟随鼠标移动,但逗号必须保留。逗号后面使用一串字符,程序在命令行显示这串字符...

求一段vb二次开发cad的代码
817.118 194.464) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 434.786 268.99) (40 .0.0) (41 . 0.0) (42 . 0.0) (210 0.0 0.0 1.0))LWPOLYLINE 的DXF组码值为:100 子类标记 (AcDbPolyline)90 顶点数 70 多段线标志(按位编码);默认值为 0:1 = 关闭;128 ...

关于vb.net二次开发autocad,是否不用netload调用dll文件也可以_百度知 ...
你看到的调用DLL的应该是用的objectARX做的开发。你可以用ActiveX外部调用CAD啊~我是用的C#做的二次开发:System.Diagnostics.Process.Start("CAD文件路径");\/\/运行CAD AcadApplication _application= (AcadApplication)Marshal.GetActiveObject("AutoCAD.Application.16");\/\/获取正在运行的CAD程序实例 AcadDoc...

VB二次开发cad选择集过滤器的用法
用以下代码你就明白了 你要求的是在图层GCZJ的单行文字TEXT变为绿色 sub asdfadsf()Dim ssetobj As AcadSelectionSet Set ssetobj = ThisDrawing.SelectionSets.Add("test1")Dim FType(0 To 1) As Integer Dim FData(0 To 1) As Variant FType(0) = 0 FData(0) = "TEXT"FType(1) =...

CAD软件怎么进行二次开发?CAD二次开发的操作教程
CAD软件二次开发的操作教程:打开cad输入命令vbaide回车会出现VBA的编辑界面,双击ThisDrawing在右侧的代码区输入上面的代码。如下图:然后按F5键会出现宏窗口,点击运行,大家看到什么?这就是一个最简单的一个用VBA对cad进行二次开发的程序,也就是宏。那什么是VBA呢?VBA就是VB的一个子集它的全称是...

请教VB二次开发CAD中插入多个单行文字操作!
加一个循环就是了。但是要设一个循环退出机制。dim i as integer i=0 do i=i+1 。。。loop unitl i=3 上面的省略号前的可以写在 Dim returnPnt As Variant 下一行 上面的省略号后的可以写在 End Sub 前一行

请教VB二次开发CAD中插入多个单行文字操作
你把单个文件添加的改成自定义过程,然后批量就是一个循环(不知道你的批量文件列表怎么产生的...),将一个一个文件通过自定义过程一个一个添加文字上去就行了。

如何使用vb.net调用cad进行绘图
然后 Dim acadapp As AcadApplication Dim acaddoc As AcadDocument On Error Resume Next AcadApp = GetObject(, "AutoCAD.Application") If Err.Number Then Err.Clear() AcadApp = CreateObject("AutoCAD.Application") If Err.Number Then MsgBox("不能运行AutoCAD,请检查是否安装了AutoCAD") Exit ...

用VB编程能够调用CAD但是不显示图线
'我不是专业做开发的,只是觉的VB调用CAD挺好玩的, 希望对你有帮助!! Private Sub Command1_Click() On Error Resume Next Set AcadApp = GetObject(, "AutoCAD.Application") If Err Then Err.Clear Set AcadApp = CreateObject("AutoCAD.Application") If Err Then Ms...

如何用VB编程序绘cad图,比如利用vb编程在VB里画一个源,一条直线。谢谢...
先在 工程-引用 里面增加autocad类型库然后写以下代码 Private Sub Command1_Click()Dim p(2) As Double Dim acad As AcadApplication Dim mspace As AcadDocument Set acad = CreateObject("autocad.application.16")acad.Visible = True Set mspace = acad.Documents.Add For i = 1.5 To ...

相似回答
大家正在搜