复杂曲线cad二次开发放样

合集下载

AutoCAD软件的二次开发

AutoCAD软件的二次开发
例:_$(ssget “X”) 说明:返回一个包含图形文件中所有对象的选择集。
6. 实体名:为图形对象指定的16进制的数字标识。通过该标识,可找到实体在 图形数据库中的位置,并可进一步对其进行编辑。
例:_$(entlast) 说明:返回最后一个加入图形文件的对象的实体名
第110页/共54页
7. 2 AutoLISP程序设计语言
表的长度:表中的元素个数。
例:(1.0 1.0 0.0) (“this” “that” “the other”) (1 “ONE”) ((a b) c (c d))
长度: 3
3
2
3
长度:(+ 142 3)
(sin (*20.5 pi))
用表可以方便地构造出复杂的数据结构。
5. 选择集:一个或多个图形对象的集合,用户可通过AutoLISP程序向选择集添 加或者从选择集中删除图形对象。
第65页/共54页
7. 1 VisualLISP简介
五、VisualLISP: Autodesk公司为增强AutoLISP程序开发能力而设 计的软件工具。
Visual LISP集成开发环境的组成部分:
语法检查器:可识别错误的AutoLISP结构和内部函数调用中不合适的参数。 文件编译器:可改善程序的执行速度并提供一个有效的开发平台。
Heap:25000 bytes Stack(栈区域):存储函数的变量和局部结构。标准表中嵌套的表越多,函数执行的 递归次数越多,该区域所占的空间越大。
Stack:20000 byets
注意:AutoCAD平台上运行AutoLISP时,用户不能扩展系统的堆或栈空间
2. 内存出错提示信息
堆空间用光:Insufficient node space。 没有足够的内存装载AutoLISP:Insufficient memory-AutoLISP disabled。

CAD软件二次开发方法及应用

CAD软件二次开发方法及应用

40 •电子技术与软件工程 Electronic Technology & Software Engineering软件开发• Software Development【关键词】CAD 软件 二次开发CAD 软件在很多工程项目中都扮演着非常重要的角色,对国家的发展与建设有着重要的意义和影响。

在近几年的发展中,一些科研团队逐渐提高了对CAD 软件二次开发与应用的重视。

一方面是由于CAD 软件的开发具有一定的科技性和专业性,需要相关科研团队对软件开发的理念、原则和目的进行明确与了解。

另一方面是由于CAD 软件在一些工程项目应用中,会受到某些因素的影响而出现问题,需要工程团队以及科研部门能够对问题进行及时的分析与处理。

1 CAD软件二次开发的方法CAD 软件二次开发的方法多种多样,通常情况下,一些工程团队会采用参数化、成组化或者交互式的方法进行相应的工作,以此来为软件的高效应用提供有利条件。

所以要想让CAD 软件二次开发的方法发挥出真正的价值,那么相关科研团队就要对具体方法的应用原则、要点和注意事项等进行全方位的研究。

1.1 参数化方法在对CAD 软件进行二次开发的过程中,使用最多的一种方法就是参数化的方法,在这种方法中,主要是根据软件在二次开发的过程中所产生的不同的需求来制定不同的软件管家。

在进行CAD 软件二次开发的过程中,应该在开发之前对CAD 软件来进行一个比较整体的规划,在这个规划当中将人们对软件的不同需求转化为参数。

这样才能够使CAD 软件在进行二次开发的过程中具有更高的效率以及更准确的数据。

1.2 成组化方法CAD 软件二次开发方法及应用文/崔丹丹由于CAD 软件在进行二次开发的过程中是要适应不同的需求的,所以相对有一些复杂性。

因此在对CAD 软件进行二次开发的过程中就能够将这些不同的需求来进行组队,使用这种成组化方法来进行CAD 软件的二次开发,就能够这些被集合的图像存入到CAD 软件的数据库当中,将其收集到数据库当中就能够使人们在进行使用的时候能够比较简便的将数据查找出来供人们使用。

CAD二次开发命令

CAD二次开发命令

箭头线
y
Y
箭头标识
FD
移动
qdim 快速标注
CF
变虚线
FR
倒R角
dimradius半径尺寸标注
dra或dr
CE
自动展开
FX
制作块属性
dimdiamet直er 径尺寸标注
ddi或dd
CR
旋转复制
DD
标注直径
圆的直径标注
qc
BT
自动标注孔位代号 DR
标注半径
properties 对象属性管理器
bb
D1
自动将标注A改为B DF
CAD常用二次开发命令
GG
镜像
AA
放大标注
layer 图层控制
la
FFR
调用图框信息
DE
放在25.4并另存
line
画直线段
l或ss
FV
锁定指定图层
DXF
自动输入DXF
ray
画射线
ra
DW
保存指定图层
BDC
刀具图
xline 画直线
xl或xx
RB
生成标准图层
CS
简单剖视画法
水平直线
xs
ER
调用图框
CB
复制成块
dor
CMK
自动计算孔径
FF
连接成直角
Y方向
dy
DST
标注样式
EC
设变次快捷命令
X方向
dx
CCD
恢复对象捕捉
QC
标注多个圆的直径
双向标注
ag
DCC
取消对象捕捉
QE
查询抽牙底孔
dimangula角r 度尺寸标注

AUTOCAD二次开发技术

AUTOCAD二次开发技术

AutoCAD二次开发技术AutoCAD作为一种通用计算机辅助设计软件,其二维图形设计功能非常强大,目前已广泛应用于机械、电子、电气、建筑、土木、服装等领域,深受国内外众多工程设计人员的喜爱,成为目前世界上应用最广的计算机辅助设计工具。

尽管如此,人们在使用过程中还是发现其存在较多的不足之处,如对于一些特殊曲线的绘制往往较为困难,而对于一些标准件、常用件,虽然从结构上看它们较为相似,但却难以采用AutoCAD提供的复制、镜像、旋转等命令来实现,而必须一笔划一笔划的绘制,显得费时费力。

AutoCAD是一种定位与全球各大领域和各类专业的通用微机CAD平台软件。

到目前为止,Autodesk公司已经相继推出了四代二次开发工具.AutoCAD的二次开发主要涉及以下内容:(1编写各种用户自定义函数并形成若干LISP、ARX、VLX或ADS文件,以及一些DCL文件。

(2建立符合自己要求的菜单文件,一般可在AutoCAD原菜单文件内添加自己的内容,对于AutoCAD2000版本还可增加部分菜单文件,然后经交互方式加入到系统中去。

(3在系统的ACAD.LSP 或类似文件中加入某些内容以便进行各种初始化操作,如在启动时立即装入一些文件等。

(4通过系统对话框设置某些路径。

这些操作在程序开发成功后向其它AutoCAD系统上安装应用,特别是需要大批安装时,需要进行很多文件检索、内容增删、子目录创建、文件拷贝、系统设置等繁琐工作,如能令上述工作全部自动进行,使整个二次开发程序在无人干预的情况下嵌入系统,将大大提高工作效率。

AutoCAD荣登全球绘图软件的龙头宝座,主要是因为它具有开放的体系结构。

它允许用户和开发者采用高级编程语言对其进行扩充和修改,即二次开发,能最大限度地满足用户的特殊要求。

AutoCAD第一版于1982年11月由AutoDESK公司推出,目前大家广泛使用的是AutoCAD2000或2002,最新版本是AutoCAD2004,其二次开发语言及工具也在不断地涌现语言本身不难,难点在对AutoCAD二次开发框架的掌握,其实AutoCAD文件可以当成一个数据库来理解,因此难点就是理解这个数据库的结构和编程方法。

CAD软件二次开发方法及应用探析

CAD软件二次开发方法及应用探析

CAD软件二次开发方法及应用探析作者:刘晓光来源:《无线互联科技》2015年第24期摘要:众所周知目前我们国家的经济、建设、科技正在处于一个快速发展的阶段,在这样的一个大背景下,人们的机械化工程也在不断地扩大领域,例如:土木工程、航天工程、计算机工程、土木工程等等。

对此,CAD软件的二次开发方法及应用都是要跟随社会变化做出一定改变的,文章针对CAD软件二次开发方法及应用做出了探讨。

关键词:CAD软件;二次开发;应用在面对CAD软件二次开发这个问题上,首当其冲的目标就是要对CAD软件二次开发的特点、原理、方法还有应用进行逐步分析,对CAD软件要有一个完整的认识,这样才能提高CAD软件的二次开发应用的功绩,CAD软件二次开发工作的质量和效率也是整个机械工程的关键,所以在面对CAD软件的飞快的发展的情形来看,现在的CAD就像一个重要的交通要塞一样,它可以快速又便捷的将一些工程进行机械简单化,根据当前CAD软件二次开发的一些原理和应用现象进行分析总结,正视这些现象才能对CAD软件二次开发发展得更加迅速,CAD软件二次开发方法和应用是本篇文章主要讲的事情,所以下文将对CAD软件二次开发进行全方位的剖析,对机械工程软件进行深入研究。

1 GAD软件二次开发的特点在对CAD软件进行二次开发的过程中具有很明显的3个特点,下文对于这3个特点进行略简单的叙述。

1.1 CAD软件二次开发主要是面向机械工程的在CAD进行开发的过程中,最主要的一个特点就是在开发的时候是面向机械工程的,这是CAD软件最大的特点,但是同时也是一个最大的难点,之所以说它是在CAD软件开发过程中的一个最大的难点是因为由于这个CAD软件开发是面对机械工程而开发的,所以在进行开发的过程中就必须要符合机械原理和机械工程的要素,同时也应当要符合在对整个机械工程进行设计的过程中应当要满足的所有的要素以及机械工程在设计过程中所要遵守的要求,在机械工程中,对CAD软件进行二次开发应该要时刻保持软件在开发过程中需要的技术、工具以及运行的环境等内容,只有保证这些内容与国家的标准进行统一,才能使CAD软件在二次开发的过程中更加地顺利。

CAD二次开发利用

CAD二次开发利用

第1章绪论1.1 选题的背景1.1.1 工程CAD技术的应用计算机辅助设计是用计算机硬件、软件系统辅助人们对产品或工程进行设计、修改及显示输出的一种设计方法。

同时它也是一门多学科的综合性应用新技术。

直到9 0年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用EXCEL的宏语言来使EXCEL 自动化,使用WORD BASIC使WORD自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA),可以认为V BA是非常流行的应用程序开发语言VISUAL BASIC 的子集.实际上VBA是寄生于V B应用程序的版本。

在CAD中,人与计算机密切合作,在决定设计策略、信息处理、修改设计及分析与计算等方面充分发挥各自的特长。

例如计算机在信息存储与检索、分析与计算、图形作图与文字处理、以及代替人作大量重复枯燥工作等方面有特殊优点;但在设计策略、逻辑控制、信息组织及发挥经验和创造性方面,人将起主导作用。

因此二者的有机结合必然能提高设计质量、缩短设计周期、降低设计费用。

工程设计CAD是CAD技术的重要领域。

目前,工程CAD过程是,把人的主导性和创造性放在首位,同时充分发挥计算机的优势,把二者结合起来,实行人机交互工作方式。

1.1.1.1 CAD技术在工程行业的应用CAD即计算机辅助设计与制图,是指运用计算机系统辅助一项设计的建立、修改、分析或优化的过程。

它是一个功能强大、易学易用、具有开放型结构的软件口不仅便于用户使用,而且系统本身可不断地扩充和完善。

随着CAD技术的不断发展,其覆盖的工作领域也不断地扩大,如工程设计CAD项目的管理、初步设计、分析计算、绘制工程、统计优化等。

1.1.1.2 CAD在钢结构上的应用目前在我国钢结构设计往往采用两步设计法,在完成结构分析和设计后还必须进行手工制图或借助于AutoCAD等通用绘图系统完成结构设计详图。

用Autolisp对AutoCAD进行二次开发

用Autolisp对AutoCAD进行二次开发

用AutoLISP对AutoCAD进行二次开发一、什么是CAD的二次开发?(为什么需要对CAD进行二次开发)我们在设计、绘图时采用AutoCAD、ProE、Solidwork、UG等设计软件,在复杂问题或特殊用途的设计中,各种软件的原有功能往往难以解决问题,例如CAD里没有直接绘制正弦曲线和抛物线等曲线的命令。

因此,只是会使用各软件的基本功能是不够的,根据我们的特殊用途进行软件的用户化定制和二次开发,往往能够大大提高工作效率和技术水平。

二、什么是AutoLisp?如何用其进行二次开发?AutoLISP是由Autodesk公司开发的一种LISP程序语言,LISP是List Processor的缩写。

通过autolisp 编程,可以节省工程师很多时间。

AutoLISP语言作为嵌入在AutoCAD内部的具有智能特点的编程语言,是开发应用AutoCAD不可缺少的工具。

当前AutoCAD的二次开发工具主要有:VisualLisp(它是AutoLisp的集成开发环境)、VBA、ObjectARX和.NET API等,这里只介绍AutoLisp。

下面由浅入深地介绍一下如何应用AutolLisp进行二次开发。

最简单的应用是在命令行中编写和执行lisp语句,进行简单的计算、绘图、查询等操作。

稍复杂些的就要把语句(代码)放到扩展名为lsp的文件中,用的时候先加载到CAD中,然后输入自定义的函数名执行。

当开发的程序越来越多,就需要进行有效的管理,使我们能方便的找到和应用这些程序。

到那个程度的时候就需要用到用户自定义的工具按钮、菜单和对话框了。

图1 根据程序数量选择二次开发形式(1)在命令行中编写和执行程序例1:(+ 2 3)例2:(setq a 2)(setq b 3)(+ a b)例3:(setq a 2)(setq b 3)(+ a b)例4:(setq p1 (list 0 0))(setq p2 (list 200 200))(command “line” p1 p2 “”) ;;语句之间不空格例5:(setq p1 (list 0 0)) (setq p2 (list 200 200)) (command “line” p1 p2 “”) ;;语句之间空格;; 表示语句(程序代码)的注释第一步:在文本中编写和保存AutoLISP程序,文件扩展名为.lsp(defun c:sin(/ lp lpx lpy N x step) ;; c:和自定义函数名sin之间不能有空格(initget 1)(setq lp (getpoint "\n Left point:")lpx (car lp) lpy (cadr lp))(initget 7)(setq N (getint "\Nnumber of cyles:"))(setq x 0 step 0.02)(command "pline" )(While (< x (* 2 N pi))(command (list (+ (car lp) x)(+ (cadr lp)(sin x))))(setq x (+ x step)))(command "line" lp (list (+ lpx (* 2 N pi)) lpy) "")(command "line" lp (list lpx (+ lpy 2))(list lpx (- lpy 2)) "") ;;注意这里用的是空的双引号“”,中间不空格(command))第二步:AutoLISP程序的加载和运行在命令行中输入appload(或ap),在弹出的“加载/卸载应用程序”对话框中选择第一步保存的*.lsp 文件。

autocad的二次开发

autocad的二次开发

autocad的二次开发(1)编写各种用户自定义函数并形成假设干LISP、ARX、VLX或ADS文件,以及一些DCL文件。

(2)建立符合自己要求的菜单文件,一般可在AutoCAD原菜单文件内添加自己的内容,对于AutoCAD2000版本还可增加部分菜单文件,然后经交互方式加入到系统中去。

(3)在系统的ACAD、LSP或类似文件中加入某些内容以便进行各种初始化操作,如在启动时立即装入一些文件等。

(4)通过系统对话框设置某些路径。

这些操作在程序开发成功后向其它AutoCAD系统上安装应用,特别是需要大批安装时,需要进行很多文件检索、内容增删、子目录创建、文件拷贝、系统设置等繁琐工作,如能令上述工作全部自动进行,使整个二次开发程序在无人干预的情况下嵌入系统,将大大提高工作效率。

为此笔者用VC++开发了一套自动安装程序,使原本需要【五】六分钟的人工操作在十几秒内即可自动完成。

【一】基本思路整个安装程序遵循以下思路:1〕首先获得所在机器AutoCAD2000系统的安装路径;2〕寻找菜单文件AutoCAD2000\\support\\acaD、mnu,打开文件并将要添加的内容加至末尾;3〕寻找LISP文件AutoCAD2000\\support\\acad2000doC、lsp,打开文件并将要添加的内容加至末尾;4〕创建一个预先命名的子目录,将所有二次开发形成的各类文件拷入;5〕给出信息框,告知安装成功,如有问题那么告知安装失败。

需要指出的是,在添入acad2000doC、lsp的内容中须有如下语句:〔command“_menu”〔strcat〔getvar”menuname”〕”、mnu”〕〕,目的是为了强制执行菜单文件装入命令,将改动后的acaD、mnu文件编译后装入。

另外,在添入acad2000doC、lsp的内容中还有一赋值语句,将准备创建的包含所有二次开发生成文件的子目录全路径名赋予一全局变量,以供二次开发程序在需要时调用,从而避免了在AutoCAD环境下交互设定路径的麻烦。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


曲线钢箱梁为空间曲线,特别是匝道梁,平面 投影采用缓和曲线,同时还有立面线形(含预 拱度),因此对于钢箱梁斜腹板的放样展开是 曲线钢箱梁制造的一大难点。
思路来源
武汉二环线钢梁
垂直外腹板匝道梁
武汉二环线钢梁
斜外腹板钢箱梁(平面圆曲 线)
实例与数学模型的转化
将实例转化为数学模型,暨将现实世界的 具体实物转化为计算机可识别、可处理的对 象。
实例与数学模型的转化
转化为数学模型,放如坐标系后,桥梁上 每一个点都可通过计算获取坐标。


平面图对应XY平面。可得到缓和曲线计算方 程: L s A R 立面图对应XZ平面。可得到坡度与预拱度叠 加的一个分段函数。 预拱度计算方程:Y=aX² 1 +b 坡度计算方程: Y=kX+b2
2
空间到平面的转化
实例转化为数学模型,边界曲线上点都可 通过计算得到坐标,但得到的都是三维的空 间坐标,如何才能将三维向二维转化,得到 我们可以实际利用的数据呢?

三角形法是钣金放样中用途最广的方法,包括不可展 曲面的近似展开。三角形是最稳定的结构,在两条边 界曲线上任取三点,即可组成三角形。无数小的空间 三角形,组成了空间曲面。
VBA程序的结构
用户使用时,主要需了解实例的数字化模 块与其他模块的关系,暨熟悉操作界面的使 用,其余模块程序会自动运行。

程序分为主界面、平面参数输入界面、立面参 数输入界面、预拱度函数输入界面。
进入其他界 面的按钮
两条边界曲 线在立面上 的高差值
系统线的 里程长度
边界曲线上 取的计算点
主界面

平面线型只有缓和曲线
边界曲线2到 系统中心线的 距离
边界曲线1到 系统中心线的 距离
平面参数输入界面

立面线型参数的输入界面有两个组成,立面曲 线参数输入界面和预拱度参数输入界面。
对应缓和曲 线的起点
最高点到起 点的距离
立面线型与平 面线型在坐标 系上的对应关 系
立面参数输入界面

预拱度参数输入界面。最多有五孔参与计算放 样,孔数过多时可多次运行程序,分段完成。
b值,该孔梁 的最高拱度值
a由b值及间 距计算得到
该孔梁的长度
预拱度参数输入界面
程序的举例应用
里程有80m、共3孔的钢箱梁,腹板为斜 腹板,顶、底板高差1.2m,内侧斜腹板上边 缘曲线距中心线10m,内侧下边缘曲线距中 心线8m。第一孔长20m,最大预拱度值为 100mm,第二孔长40m,最大预拱度值为 300mm,第三孔长20m,最大预拱度值为 200mm。前30m处于上坡,坡度2.0,之后 处于下坡,坡度4.0。
VBA程序的结构
结合实例,程序可分为五个大块。
实例的数字化(参数的输入) 计算曲线平面坐标 计算曲线立面坐标 三维空间曲线向二维曲线转化 画出展开后的曲线

VBA程序的结构
本程序采用模块式结构,依次实现各大块 既定目的。即每个步骤独立为单独的模块, 各模块间互不干涉,独立运行,模块间提供 公用的数据接口。采用模块式结构可使程序 维护、调试更加方便、简洁;各模块间的互 不干涉性亦使程序运行更加稳定。

运行程序,进入主界面,输入参数。

单击平面方程按钮,进入平面参数输入界面。 输入参数,确定返回。

单击立面方程按钮,进入立面参数输入界面。 输入参数,确定返回。

单击预拱度曲线参数按钮,进入预拱度参数确定画图前,检查所有 参数是否正确。主界面只显示主要参数。
曲线钢箱梁斜腹板展开放样程序开 发及应用
曲线放样程序在实际工程中的应用
汇报内容
本项目的目的及意义 实例与数学模型的转化 空间到平面的转化 VBA程序的结构 程序的举例应用

项目的目的及意义


随着国内城市现代化的进程和城市容量的扩大, 城市公路以及高速公路交通正处于高速发展节 段,尤其是大、中型城市的发展尤为迅猛。曲 线高架钢箱梁以及匝道钢箱梁需求量越来越大。 曲线钢箱梁为空间曲线,特别是匝道梁,平面 投影采用缓和曲线,同时还有立面线形(含预 拱度),因此对于钢箱梁斜腹板或圆弧腹板的 放样展开是曲线钢箱梁制造的一大难点。

两个相邻的空间三角形,以他们的相邻边为轴, 旋转后,可使两个三角形处于同一平面

无数的空间三角形,以两两相邻的边为轴旋转 到同一平面后,将所有三角形的顶点连接起来, 暨为空间曲面的两条边界曲线,在平面展开后 的形状。
VBA程序的结构
VB是一种可视化的编程软件,暨所见即所 得,即使不会编程也能很容易的熟悉、使用 制作出的软件。而AutoCAD提供的开放的 VBA编程界面,继承了VB的优点,使程序易 操作,实现全程数字化。
项目的目的及意义

复杂变曲面的展开放样,如:高架桥曲线钢箱 梁外斜腹板在平面上的展开放样,是工厂制造 的难点,一般采用钣金软件如Pro/E、autoPol 钣金专家等进行放样,需三维建模后由实体展 开,对技术人员综合素质要求较高,研究一种 简单易行的展开放样方法可大大降低工艺设计 放样的门槛。AutoCAD提供的开放的VBA编程 界面,可便捷地实现此功能。

画出图形
程序演示
衍生品
演示结束! 谢谢!

建立坐标系。一般桥涵的设计图中,需要整 体平面图和整体立面图,才能完整的描述该 桥的外形形状。转换为数学模型,建立坐标 系时,平面图对应XY平面,立面图对应XZ平 面。
箱梁平面图
通过中心线方 程转换成边缘 线参数方程
边界线转化到平面坐标系中
箱梁立面图
边界线转化到立面坐标系中

设计图给出的立面曲线上,预拱度及坡度皆为 道路中心线上的标准值。 不同的两条边界线,可组合为桥梁的腹板、顶 板及底板。在XY平面中将有4条边界线对应。
相关文档
最新文档