【AutoCAD】AutoCAD R12两个新增命令在编程中的应用

116 0

摘要:AutoCAD R12版新增加了BHATCH命令来补充和加强HATCH命令功能。

关键词:AutoCAD R12 命令 应用

  AutoCAD中填充阴影线图案(PAT文件)是一项十分有用的功能,在各种图形中都可能用到。我们在开发工程地质CAD软件时,经常要在图面上的指定区域内填充岩性花纹图案,而且填充区域不规则。在AutoCAD低版本中,填充花纹命令仅有一条HATCH,使用HATCH时,需选择围成闭合区域的有关实体,若实体选择不全则会使填充出现混乱,特别是当填充区域由若干线、弧、园等实体交叉组合而成时,就要沿闭合区域的各点绘制一条PLINE线,然后以这条线作为填充边界线,在填充完成以后还要将这条线删除,比较麻烦。

  AutoCAD R12版新增加了BHATCH命令来补充和加强HATCH命令功能。BHATCH命令以窗口交互方式执行,它将自动以多义线来定义边界,然后忽略全部或部份不是边界的区域,完成填充后自行删除多义线,还可以使边界内的图形和文字避开填充图案。简言之,填充时只需要用鼠标器点取闭合区域内一点就可完成填充。为了更方便地使用HATCH和BHATCH这两个命令,在R12版中还新增加了一条命令BPOLY。使用BPOLY可迅速生成一封闭曲线的边界,即通过点取封闭区域内任意一点形成本区域的边界线,根据返回的边界线可使用HATCH填充花纹图案,也可使用AREA来计算封闭区域的面积和周长。有关这两条命令的操作,可参阅AutoCAD R12的使用说明书,通过简单的练习就可以掌握。本文想就如何在AUTO LSP中调用这两个命令进行编程的问题做一简单介绍。

  BHATCH和BPOLY命令不同于一般的AutoCAD命令,它们是用ADS应用程序开发的,如果想在图形编辑状态下或在AUTO LISP中使用这两个命令, 就要在AutoCAD初始化时加载名为ACADAPP的ADS程序,方法是在当前搜索路径上是否有ACAD.ADS文件,这是一个纯文本的ASCII码文件,在这个文件中如有一行为ACADAPP,那么在进入ACAD图形时自动加载ACADAPP,在AutoCAD的Command:提示符下调用AUTO LISP函数(ADS),将得到当前已加载的全部ADS应用程序的信息。如已加载ACADAPP,在“Command:”就可以使用BPOLY和BHATCH。

  在AUTO LISP语言中,不能像调用一般命令那样用(COMMAND “命令”)来调用BPOLY和BHATCH,而是用(C:BPOLY 点)、(C:BHATCH 点)来调用,执行(C:BHATCH 点)之前要通过SETVAR对几个系统变量进行设置,HPANG是图案填充角度,HPNAME是图案填充名称,HPSCALE是图案填充比例系数。以下是一个简单的填充花纹图案的LISP程序:

程序1清单

(setq yf$ (getstring (strcat "花纹代号: "))) ;输入花纹代号

(setq bl (getreal "\n比例<1>:")) ;输入比例

(if (= bl nil) (setq bl 1.0)) ;比例约定值为1

(setq ang (getreal "\n角度<0>:")) ;输入角度

(if (= ang nil) (setq ang 0.0)) ;角度约定值为0

(setq pt (getpoint "\n选择区域内任意一点:")) ;输入区域内任意一点坐标

(setvar "hpang" ang) ;设置填充角度为ang

(setvar "hpscale" bl) ;设置填充比例为bl

(setvar "hpname" yf$) ;设置填充花纹为yf$

(while pt ;PT为真时执行循环体内程序,否则退出

(c:bhatch pt)

(setq pt (getpoint "\n选择区域内任意一点:")) ;输入区域内任意一点坐标继续填充

);while pt

用程序1填充花纹时,选定点周围不能形成一个闭和区域时,除未填充外也不显示任何信息,因此需要增加一个判断,用程序2来实现。

程序2清单

(setq yf$ (getstring (strcat "花纹代号: "))) ;输入花纹代号

(setq bl (getreal "\n比例<1>:")) ;输入比例

(if (= bl nil) (setq bl 1.0)) ;比例约定值为1

(setq ang (getreal "\n角度<0>:")) ;输入角度

(if (= ang nil) (setq ang 0.0)) ;角度约定值为0

(setq pt (getpoint "\n选择区域内任意一点:")) ;输入区域内任意一点坐标

(while pt ;PT为真时执行循环体内程序,否则退出

(setq e (c:bpoly pt)) ;得到PT点所在的边界线,

(if e ;如边界线存在就填充,否则不填充

(progn

(command "hatch" yf$ bl ang e "") ;填充花纹

(command "erase" e "") ;删除边界线

(princ "\n填充完毕") ;打印填充完毕

);progn

(princ "\n边界线不存在,不能填充")

);if

(setq pt (getpoint "\n选择区域内任意一点:")) ;输入区域内任意一点坐标继续填充

);while pt

  为了更加方便实用,可以编制花纹图案的图标菜单,当提示输入花纹图案时,激活图标菜单。我们在实际运用时,从BPOLY返回的边界实体的各点坐标中计算出一个范围,该范围内的文本实体同时选中,使这些文本避开阴影线图案。

  以上两个小程序所实现的功能与BPOLY和BHATCH相同,其实际意义不在于此,而是想通过以上介绍,能够将其应用到解决更为复杂的情况上,例如我们在地质CAD软件开发中,使用上述方法解决了复杂的不规则区域自动填充多种花纹图案的程序,编写了对花纹图案的编辑命令,即对已经绘制到图形中的花纹进行编辑修改(篇幅所限源程序不列出) 。这里仅简介使用方法,在运行本程序之前,所编辑花纹的区域已经存在。

在Command提示符下用LOAD 加载本程序,计算机提示

I.选目标 T.改花纹代号 A.比例角度 C.改颜色 P.改边界 X.结束<X>:

选项I: 选定要编辑的花纹图案,只需用鼠标点取花纹图案上的一点即可;

选项T: 修改花纹图案的代号,输入新的花纹代号;

选项A: 修改花纹图案的比例角度,输入新的比例和角度;

选项C: 修改花纹图案的颜色,输入新的颜色号;

  选项P: 是修改花纹图案的边界线,提示选择欲修改的边界线,然后是一个类似PEDIT的多义线顶点编辑命令,可将顶点位置移动或者删除,待新的边界线修改完成以后,图面上的花纹图案立即按新的边界更新。需注意的一点是在修改边界线之前选择花纹图案实体时,一定要使选择点位于新的边界线之内,否则图案将填充在新边界线之外。

  以前绘制到图形中的花纹图案,如果发现代号、角度、比例、颜色、边界线等不满意时,就要将其删除再重新绘制,而且还不能保证重新绘制的花纹图案完全正确,使用本程序就可以随心所欲地非常方便地对花纹进行编辑修改,直到满意为止。

 

(setvar "hpname" yf$) ;设置填充花纹为yf$

(while pt ;PT为真时执行循环体内程序,否则退出

(c:bhatch pt)

(setq pt (getpoint "\n选择区域内任意一点:")) ;输入区域内任意一点坐标继续填充

);while pt

用程序1填充花纹时,选定点周围不能形成一个闭和区域时,除未填充外也不显示任何信息,因此需要增加一个判断,用程序2来实现。

程序2清单

(setq yf$ (getstring (strcat "花纹代号: "))) ;输入花纹代号

(setq bl (getreal "\n比例<1>:")) ;输入比例

(if (= bl nil) (setq bl 1.0)) ;比例约定值为1

(setq ang (getreal "\n角度<0>:")) ;输入角度

(if (= ang nil) (setq ang 0.0)) ;角度约定值为0

(setq pt (getpoint "\n选择区域内任意一点:")) ;输入区域内任意一点坐标

(while pt ;PT为真时执行循环体内程序,否则退出

(setq e (c:bpoly pt)) ;得到PT点所在的边界线,

(if e ;如边界线存在就填充,否则不填充

(progn

(command "hatch" yf$ bl ang e "") ;填充花纹

(command "erase" e "") ;删除边界线

(princ "\n填充完毕") ;打印填充完毕

);progn

(princ "\n边界线不存在,不能填充")

);if

(setq pt (getpoint "\n选择区域内任意一点:")) ;输入区域内任意一点坐标继续填充

);while pt

  为了更加方便实用,可以编制花纹图案的图标菜单,当提示输入花纹图案时,激活图标菜单。我们在实际运用时,从BPOLY返回的边界实体的各点坐标中计算出一个范围,该范围内的文本实体同时选中,使这些文本避开阴影线图案。

  以上两个小程序所实现的功能与BPOLY和BHATCH相同,其实际意义不在于此,而是想通过以上介绍,能够将其应用到解决更为复杂的情况上,例如我们在地质CAD软件开发中,使用上述方法解决了复杂的不规则区域自动填充多种花纹图案的程序,编写了对花纹图案的编辑命令,即对已经绘制到图形中的花纹进行编辑修改(篇幅所限源程序不列出) 。这里仅简介使用方法,在运行本程序之前,所编辑花纹的区域已经存在。

在Command提示符下用LOAD 加载本程序,计算机提示

I.选目标 T.改花纹代号 A.比例角度 C.改颜色 P.改边界 X.结束<X>:

选项I: 选定要编辑的花纹图案,只需用鼠标点取花纹图案上的一点即可;

选项T: 修改花纹图案的代号,输入新的花纹代号;

选项A: 修改花纹图案的比例角度,输入新的比例和角度;

选项C: 修改花纹图案的颜色,输入新的颜色号;

  选项P: 是修改花纹图案的边界线,提示选择欲修改的边界线,然后是一个类似PEDIT的多义线顶点编辑命令,可将顶点位置移动或者删除,待新的边界线修改完成以后,图面上的花纹图案立即按新的边界更新。需注意的一点是在修改边界线之前选择花纹图案实体时,一定要使选择点位于新的边界线之内,否则图案将填充在新边界线之外。

  以前绘制到图形中的花纹图案,如果发现代号、角度、比例、颜色、边界线等不满意时,就要将其删除再重新绘制,而且还不能保证重新绘制的花纹图案完全正确,使用本程序就可以随心所欲地非常方便地对花纹进行编辑修改直到满意为止。


       在绘制工程地质剖面图时岩层产状在剖面拐点处的视倾角将发生变化,填充花纹时在拐点两侧应该使用不同的视倾角,而且在拐点处花纹应该连结正确。我们使用了以上两个命令编写了一个LISP程序,比较好的解决了这个问题,绘制的图形如上图所示。绘制褶皱构造的地质剖面图,也可使用本程序。

0

上一篇: 提高AutoCAD绘图速度的若干方法 下一篇: 天正市政道路及管线CAD软件(T-SZ v6.0)简介

教程资料来源于网络,如有侵权,请及时联系平台进行删除

AutoCAD

课程目录
搜索
AutoCAD
AutoCAD图导入photoshop的方法
渲染出众--AutoCAD、3DS、photoshop的文件转换与联用
AutoCAD中计算二维图形的面积
AUTOCAD快速标注法
cad自动分层
从AutoCAD中精确输出图像文件
在AutoCAD尺寸线中自定义箭头块应用技巧
AutoCAD2000文字特效制作20例
AutoCAD与3DS的数据交换
AutoCAD中如何实现图形的比例尺
在AutoCAD R14下进行“外部引用”经验谈
AutoCAD三维制图的尺寸标注
AutoCAD R14批绘图问答
使用AutoCAD绘制电路图规则说明
用好AutoCAD的线型比例
求流体重心
如何充分利用AutoCAD的命令开关?
如何成为真正的AutoCAD专业工程师
AutoCAD 文件加载顺序
如何应用VBA设定AutoCAD参数
三强联手渲染出众--AutoCAD.3DS.Photoshop的转换与联用
AutoCAD应用中的误区及绘图习惯
巧妙使用AutoCAD设计中心管理图形
Microstation和Autocad
如何通过配置加强AUTOCAD的图线打印效果
WORD 2000中编辑AUTOCAD的图形
AutoCAD 技巧一则
AutoCAD多文档处理
AutoCAD 的文件类型
AutoCAD、MDT与其它软件集成应用的几点体会
AutoCAD 菜单文件使用五问
AutoCAD图像输出图像
建立在AutoCAD R14上的重头戏AutoCAD Map
AutoCAD SHP字体文件格式
给排水专业CAD软件开发方法探讨
浅谈Excel、AutoCAD在渠道设计中的应用
提高AutoCAD绘图速度的若干方法
AutoCAD R12两个新增命令在编程中的应用
天正市政道路及管线CAD软件(T-SZ v6.0)简介
AutoCAD中特殊符号的表示
AutoCAD至PHOTOSHOP的图形传输方法
让autocad自动响应Enter解决办法
在AUTOCAD中插入EXCEL表格的做法
autocad中mirror的一点小技巧
AutoCAD的三维拉伸
AutoCAD 绘制建筑电气图的技巧
AutoCAD的线型与填充图案开发技术
在Word中使用AutoCAD图形
AutoCAD 实用技巧
autoCAD2002的图纸怎样转化成CAD14的图纸
AutoCAD环境变量详解全集
在autocad中怎样编辑自己的填充图案
AUTOCAD使用心得连载之七--AUTOCAD与其他软件的交互
AUTOCAD使用心得连载之六--绘图与打印比例控制、套用图框、标注命令
AUTOCAD使用心得连载之五--图层控制命令、视图命令、图元选择方式
AUTOCAD使用心得连载之四--常用命令与快捷键设置原则
AUTOCAD使用心得连载之三--字体、标注的设置与CAD模版文件
AUTOCAD使用心得连载之二--图层的设置
AUTOCAD使用心得连载之一--AUTOCAD使用的三个基本方面
AutoCAD中快速大量修改线宽的方法
制造特效字体
鼠标的功能!
轻松删除顽固图层之妙招
“!”键的使用
找不到原文件的字体怎么办?
模型与图纸空间的联系和区别
AutoCAD 汉字处理技巧
几何计算器应用示例
如何在autocad里按正确的比例插入光栅文件
AutoCAD 2000快捷命令的命名规律
在AutoCAD同一张图上自动实现不同的标注比例
AutoCAD 2000中自定义填充图案
将autocad的spl线转换为pl线
在Word2000中插入AutoCAD图形文件
AutoCAD表格制作
AutoCAD 2000使用技巧四则
优化AutoCAD系�y的方法
“今日”对话框及AutoCAD 2002工作界面
AutoCAD 快捷键(包括:2000/2002/2004/2005)
AutoCAD使用的50个问答
AutoCAD经验与技巧
autocad使用点滴
AutoCAD中图形库的创建和管理
AutoCAD 2000快捷命令的使用
设计自己的AutoCAD R14模板
AutoCAD发展历程
转AutoCAD至PHOTOSHOP 的图形传输
AutoCAD中几个好用的Bonus命令
AUTOCAD中几个特殊的系统变量或命令
使用AutoCAD提高绘图效率的途径和技法
AutoCAD技术在隧道施工中的运用
AutoCAD2002绘制建筑施工图入门小技巧
AutoCAD中文件导出和批量绘图技巧
AutoCAD 2000设置技巧
对AutoCAD进行二次开发
AutoCAD软件作图的速度技巧
AutoCAD设计中心
AutoCAD应用技巧18例
AutoCAD的小小发现
“AutoCAD”技术在淮安工程中的应用
AutoCAD相关问答
AutoCAD发展历程回顾
AutoCAD画图技巧
CAD画图九不要
Shift键在AUTOCAD中的几招秒用
AutoCAD阵列操作全攻略
AutoCAD中的标注线性比例和标注全局比例
AutoCAD概述
键盘和鼠标
AutoCAD的启动与退出
AutoCAD的安装
使用文本窗口和对话框
使用菜单与工具栏
AutoCAD中的坐标系
AutoCAD的基本命令
草图设置(DraftingSettings)
基本图形设置
绘制简单几何图形
其他图形设置命令
绘制多线、参照线和射线
绘制点和样条曲线
autoCAD基本修改命令
拉伸和拉长、打断和分解命令的比较
等分点
边界和面域
使用夹点与编组
快速选择和对象选择过滤
比划圈更高效的审批图纸的方法--“对付”(DWF)一下
修改样条曲线
修改多段线
编辑多线
列表显示命令
时间查询
系统变量
线型与线宽
颜色
文字样式
尺寸标注简介
AutoCAD2002的文字新功能
文字编辑命令
编辑尺寸标注
属性的编辑
属性的提取
13.3.1启动外部参照管理器
在位编辑参照
利用剪贴板共享数据
对象链接与嵌入(OLE)
AutoCAD设计中心简介、启动和界面
15.5.1打开图形
使用AutoCAD设计中心编辑图形
局部打开与局部加载
图形属性
对象清理
对象重命名
命令的重复执行
几何计算器
访问操作系统
布局简介
页面设置
浮动视口
图形设置命令
AutoCAD2002中的新功能
图形打印简介
布局的创建与管理
图形打印命令
电子打印(ePlot)与批处理打印17.9.1电子打印(ePlot)
二维等轴测投影简介和使用等轴测投影模式
等轴测投影中的文字
等轴测投影中的标注
三维坐标系
设置三维视图
千禧堂的三维造型
设置UCS
创建千禧堂入口造型
计算机的三维造型和创建机箱造型
创建显示器造型
其它创建和修改三维实体的方法
在三维空间中创建光源
定义透视视图与场景
配景的使用与创建
创建千禧堂模型的渲染图
Web浏览器的概念与使用
了解AutoCADToday的界面和网络功能
超级链接的概念与使用
Internet上的文件操作
DWF文件简介、创建、设置和查看
了解AutoCAD的目录结构
PublishtoWeb的概念与使用
了解库搜索路径和命令搜索过程
MeetNow的概念与使用
ACAD.PGP文件的重新初始化
幻灯片文件的概念与创建
填充图案的定义和创建
自定义菜单文件
AutoCAD的自定义命令
AUTOCAD制作三维模型瓶
纬衡CAD的使用技巧
Autodesk AutoCAD Revit Series - Building系统要求
Autodesk Revit Building 产品概要
autocad 2007系统需求
AutoCAD 2007产品概要
从使用 AutoCAD 转为使用 AutoCAD Electrical
AutoCAD Electrical 演示
Autodesk AutoCAD Revit Series 系统需求
Autodesk AutoCAD Revit Series 优点
AutoCAD Revit Series产品概要
Autodesk AutoCAD Revit Series 2常见问题与解答
autocad 2007常见问题
AutoCAD 2004 一般信息
AutoCAD Electrical介绍
AutoCAD Electrical 2007新增功能
autocad产品概要
AutoCAD Mechanical
AutoCAD LT 2004
autocad常见问题与解答
一套简单的AUTOCAD 2004 模拟试题(笔试)
CAD空格键的小技巧
CAD造型练习(二)
CAD造型练习(一)
实现CAD2005与Electrical2005的快速切换
AutoCAD历程
在中望CAD中调整存图时间和路径
CAD常用技巧与问题
AOTOCAD 50问
中望CAD中极轴追踪的设置与应用
CAD倾斜的技巧
Autodesk,从二维走向五维
用AutoCAD图形计算刀具中心轨迹的方法
ACAD中让底色透明
模板文件设置一例
点的四种输入方法
CAD精确绘图
使用MVSETUP命令规划出图布局
浮动视口的应用
AUTOCAD中的选择方法
模型空间与图纸空间
AutoCAD使用技巧六则
设置AutoCAD的系统变量
网络环境下图形输出管理的完整解决方案
优化3D图形渲染通道负载
AutoCAD 2007 试用版发布
AutoCAD绘制复杂图纸注意事项
CAD实用小技巧:不用CAL命令做简单除法
给AutoCAD的DWG图纸文件瘦身
AutoCAD绘制装修设计图小技巧
AutoCAD标注样式的导入、导出和引用
在AutoCAD中快速删除大量的点和其它元素
AutoCAD中图形输出的技巧
在AutoCAD中实现“倾斜”功能
大幅面CAD图打印输出技巧
挽救你的AutoCAD文件
修复和保护AutoCAD文件的方法
AutoCAD工具栏丢失怎么办?
巧用CAD的“参照缩放”绘图
CAD中剪切或延伸多条线段
AutoCAD引发屏保文件关联问题
CAD中消隐线和面交线的显示
AutoCAD制表好帮手
AutoCAD清晰线条打印
解决CAD导致方正字库无法使用的问题
AutoCAD巧画角平分线
小巧玲珑的平面制图工具--CB-CAD
AutoCAD中输出位图
企业如何选择微机平台三维CAD软件
AUTOCAD中自动生成45°视图
CAD中自动画管线图的LISP程序
AutoCAD内常用术语的自动标注方法
给AutoCAD增加计算器功能
化工工艺流程图阀门程序设计
AutoCAD中自动批量修改图形文件的程序
使用Auto CAD2000打印输出图纸的几点经验与技巧
在Auto CAD环境下实现制表功能
用LISP语言自定义AutoCAD命令
自动绘制出中心线
AutoCAD R14的菜单定制技术
工程图中标注序号的LISP程序
AutoCAD下绘制直线对称中心线的方法
基于AutoCAD的螺纹加工三维仿真