可以在加载时设置一个空间 ,没有菜单,没有命令窗口,完成后改为普通空间,
创新互联成立于2013年,我们提供高端网站建设公司、成都网站制作、成都网站设计公司、网站定制、网络营销推广、微信平台小程序开发、微信公众号开发、seo优化排名服务,提供专业营销思路、内容策划、视觉设计、程序开发来完成项目落地,为餐厅设计企业提供源源不断的流量和订单咨询。
望采纳
D=AcadApp.ActiveDocument.Utility.GetPoint(,"选择一个点:")
你的参数没有弄对
GetPoint是个方法不是属性必须要括号()
他的两个参数为可选参数(startpoint,prompt)第一个参数是起始点,第二个参数是提示语
你看到的调用DLL的应该是用的objectARX做的开发。你可以用ActiveX外部调用CAD啊~我是用的C#做的二次开发:
System.Diagnostics.Process.Start("CAD文件路径");//运行CAD
AcadApplication _application= (AcadApplication)Marshal.GetActiveObject("AutoCAD.Application.16");//获取正在运行的CAD程序实例
AcadDocument aDocument=_application.Application.ActiveDocument
AcadLayer newLayer = aDocument.Layers.Add("CircleLine");//添加图层
aDocument.ActiveLayer = newLayer;//把CircleLine层设置为当前层
AcadCircle circle = aDocument.ModelSpace.AddCircle(center, radius);//加入圆
AcadLine line = aDocument.ModelSpace.AddLine(startPoint, endPoint);//加入直线
circle.color = ACAD_COLOR.acRed;//把圆变为红色
line.color = ACAD_COLOR.acGreen;//把直线变为绿色
connector.Application.Update();//更新显示
你去查查书吧,书上挺详细的,在这说不好说,你先在项目里引用。然后 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 Sub End If End If AcadApp.Visible = True '界面可视
需要解析CAD文件的构成 然后根据规则绘制 说白点CAD文件是人家公司定义的一个文件格式 里面保存的不是图形 而是图形的绘制规则 程序AutoCad打开文件的时候是读取文件里面描写的绘制规则绘制图案的 你了解了CAD文件的构成后就可以自己写代码绘制图形了(具体CAD图形构成没研究过 你可以用记事本打开一个CAD的图形交换文件.Dxf 可以看到 这个文件是由图层说明和很多点坐标组成的)
Dim ppr As PromptPointResult = ed.GetPoint("请选择插入点:")
Dim pt As Point3d = ppr.Value
utility.WriteToEditor(pt.ToString())
Dim pidBlock As New PIDBlock()
'自己定义的图块类,保存图块的路径和名称
pidBlock.Name = "sample"
pidBlock.Path = blockPath "b_sample.dwg"
Using blkDb As New Database(False, True)
'read drawing
blkDb.ReadDwgFile(pidBlock.Path, System.IO.FileShare.Read, True, Nothing)
blkDb.CloseInput(True)
Using docLock As DocumentLock = doc.LockDocument()
'多文档要先这样,否则报至命错误
Using t As Transaction = doc.TransactionManager.StartTransaction()
'insert it as a new block
Dim idBTR As ObjectId = doc.Database.Insert(pidBlock.Name, blkDb, False)
'create a ref to the block
Dim bt As BlockTable = DirectCast(t.GetObject(doc.Database.BlockTableId, OpenMode.ForRead), BlockTable)
Dim btr As BlockTableRecord = DirectCast(t.GetObject(bt(BlockTableRecord.ModelSpace), OpenMode.ForWrite), BlockTableRecord)
Using bref As New BlockReference(pt, idBTR)
btr.AppendEntity(bref)
t.AddNewlyCreatedDBObject(bref, True)
End Using
t.Commit()
End Using
End Using
End Using