dimradius by AutoLisp in AutoCAD

栏目: Lisp · 发布时间: 7年前

内容简介:dimradius by AutoLisp in AutoCAD

dimradius by AutoLisp in AutoCAD

eryar@163.com

最近在开发一个自动出图程序,从PDMS模型中取数据后,经过处理生成AutoCAD的图纸。其中涉及到一个问题就是如何尽量使程序与AutoCAD低耦合,尽量不使用第三方库的情况下,实现数据的传递。

最开始想到是用ODA(Open Design Alliance)的DWGdirect库来直接生成DWG文件,并且PDMS中就是使用这个库来生成DWG文件的。DWGdirect的用法与AutoCAD .Net的接口名称基本一致,用法也相同,但是这样就引入了第三方库。

还有一种方法就是使用AutoLisp脚本来生成图纸。这样的话,程序只需要生成一个AutoLisp脚本文件,文件中包含创建图形的命令。AutoLisp脚本与PDMS的PML类似,都需要一个解析执行的环境,即PML依赖PDMS平台才能运行,AutoLisp依赖AutoCAD平台。如果使用AutoLisp,程序不依赖DWG相关的第三方库,只需要生成一个文本文件。决定使用AutoLisp后,还有一个问题,就是如何在启动AutoCAD能自动加载生成的AutoLisp文件去生成图纸。

从网上查到自动加载程序的方法:About Auto-Loading and Running AutoLISP Routines:

http://help.autodesk.com/view/ACD/2015/ENU/?guid=GUID-FDB4038D-1620-4A56-8824-D37729D42520 ,发现使用acaddoc.lsp的方法最方便。方法如下:

1. 使用一个模板DWG文件Template.dwg;

2. 在模板DWG文件Template.dwg相同的目录中,放一个acaddoc.lsp脚本文件,其中内容可以参考如下方式:

dimradius by AutoLisp in AutoCAD

3. 程序生成一个脚本文件myapp.lsp到acaddoc.lsp的文件夹中,然后再打开模板DWG文件Template.dwg。

经过上述处理,程序在打开模板DWG文件的时候会启动AutoCAD,启动AutoCAD的时候会加载acaddoc.lsp文件,在acaddoc.lsp中又会加载myapp.lsp,这样就会执行myapp.lsp中的命令,自动生成图纸了。

图形的生成可以使用AutoCAD中的命令,如生成直线可以使用line,生成圆可以使用circle,等等。对生成的图形进行标注的时候,发现线性标注很方便使用命令自动生成,但是想标注半径或直径的时候,一直没有测试成功。后来测试成功后,将这些命令记下来,方便查询。

; ; create a circle at (0,0,0) and radius is 8
(setq aCenter (list 0 0 0))

(setq aRadius 8)

(command "circle" aCenter aRadius "")

; ; remember the circle and dimradius
(setq aCircle (entlast))

(setq aPoint (polar aCenter 45 aRadius))

(setq aDim (cons aCircle (list aPoint)))

(command "dimradius" aDim aPoint)

; ; zoom all


(command "zoom" "e")

打开Template.dwg的时候,会自动生成如下内容:

dimradius by AutoLisp in AutoCAD

使用AutoLisp脚本文件来作为数据交换的方式来开发程序,可以使自己的程序不依赖DWG读写相关的第三方库,使程序更稳定。

使用AutoLisp来自动生成标注的时候,线性标注很容易生成,只需要指定几个点即可。可是生成半径或直径标注数据时,因为需要选择圆弧,AutoLisp不是那么直观。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Metasploit渗透测试魔鬼训练营

Metasploit渗透测试魔鬼训练营

诸葛建伟、陈力波、田繁、孙松柏、等 / 机械工业出版社 / 2013-9-1 / 89.00元

首本中文原创Metasploit渗透测试著作,国内信息安全领域布道者和资深Metasploit渗透测试专家领衔撰写,极具权威性。以实践为导向,既详细讲解了Metasploit渗透测试的技术、流程、方法和技巧,又深刻阐释了渗透测试平台背后蕴含的思想。 本书是Metasploit渗透测试领域难得的经典佳作,由国内信息安全领域的资深Metasploit渗透测试专家领衔撰写。内容系统、广泛、有深度,......一起来看看 《Metasploit渗透测试魔鬼训练营》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具