超经典CADlisp程序集锦CAD快捷键大全.docx
- 文档编号:3784705
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:33
- 大小:45.64KB
超经典CADlisp程序集锦CAD快捷键大全.docx
《超经典CADlisp程序集锦CAD快捷键大全.docx》由会员分享,可在线阅读,更多相关《超经典CADlisp程序集锦CAD快捷键大全.docx(33页珍藏版)》请在冰豆网上搜索。
超经典CADlisp程序集锦CAD快捷键大全
超经典CADlisp程序集锦
如果您使用AutoCAD,下面的内容对您一定有帮助。
在某些方面能大大提高
您的工作效率。
下面的程序均以源程序方式给出,您可以使用、参考、修改它。
bg.lsp---表格自动生成
asc.lsp---将文本文件内容写入图中,字符是单个的
wf.lsp---将图中字符写入磁盘
exstr.lsp---将字符串分解成单字
pgtxt.lsp---将字符合成字符串
pb.lsp---通过给出长度将字符串分成两个串
cht.lsp---直接修改文字内容或块属性
ct.lsp---对数字串进行加减
chh.lsp---直接修改文字高度
chhw.lsp---直接修改文字高宽比(针对PKPM软件将字符定位点改为左下角)
chst.lsp---直接修改文字字体
txt.shx---修改后的标准txt.shx文件。
(kuozhan.sld为增强的内容幻灯片)
tiao.lsp---配合修改过的标准字体文件,将中文字符调大
tiao1.lsp---配合修改过的标准字体文件,将英文字符调小
untiao.lsp---上两个程序的复原
sht.lsp---在图中查找字符串
zhuang.lsp---桩点及钎探号绘制(勘测图)
dim.lsp---配合JT.DWG将尺寸标注调成适合建筑结构设计(1:
1)
dimm.lsp---配合JT.DWG将尺寸标注调成适合建筑结构设计(1:
100)
di1.lsp~di8.lsp---直接连续标注尺寸(用于1:
1的图)
di100.lsp~di800.lsp---直接连续标注尺寸(用于1:
100的图)
详细内容及附件下载请浏览北纬服务论坛
该程序实现的功能如图中所示,只要选择矩形,便可将穿过矩形的直线剪切(以前是一条一条的选择),由于水平有限,程序的语句可能太繁琐,但功能对我面言很实用(以前我下载了一个,但效果不好,连矩形外也剪掉了),
请各位高手优化!
源程序如下:
代码:
(defunc:
mytrim(/recte0e1ptxptxptyl1ip1p2p1xp1ypointcount)(setvar"osmode"0)(setql1nil)(setqi0)(setqrect(car(entsel"\n请选择需剪切的矩形:
")))(setqe0(entgetrect))(while(setqx(nthie0))(if(=(carx)10)(progn(setqptx(nth1x))(setqpty(nth2x))(setqx(listptxpty))(setql1(consxl1))))(setqi(1+i)))(reversel1)(setqp1(carl1))(setqp1x(nth0p1))(setqp1y(nth1p1))(setqcount0)(repeat3(setqcount(+count1))(setqpt(nthcountl1))(setqptx(nth0pt))(setqpty(nth1pt))(setqpoint(mapcar'+p1pt))(setqpoint(mapcar'/point'(2.02.02.0)))(if(and(/=(nth0point)p1x)(/=(nth0point)ptx)(/=(nth1point)p1y)(/=(nth1point)pty))(setqppoint)))(setql1nil)(command"offset"5rectp"")(setqe0(entlast))(setqe1(entgete0))(prince1)(setqi0)(while(setqx(nthie1))(if(=(carx)10)(progn(setqptx(nth1x))(setqpty(nth2x))(setqx(listptxpty))(setql1(consxl1))))(setqi(1+i)))(reversel1)(setqp1(carl1))(command"erase"e0"")(setqcount0)(repeat3(setqcount(+count1))(setqpt(nthcountl1))(command"trim"rect"""f"p1pt""""))(setqp1(cadrl1))(command"erase"e0"")(setqcount1)(repeat2(setqcount(+count1))(setqpt(nthcountl1))(command"trim"rect"""f"p1pt""""))(setvar"osmode"687))
你的程序在实际使用中,有时将矩形的边或矩形外的线剪切掉了,我的程序参照你的程序重新编了一下,不好意思,借用了你的思路.(朋友多,互相学习)
有些语句实际上重复了,昨天我又改了下,源程序如下:
(defunc:
mytrim
(/recte0e1ptxptxptyl1ip1p2p1xp1ypointcount)
(setvar"osmode"0)
(setql1nil)
(setqi0)
(setqrect(car(entsel"\n请选择需剪切的矩形:
")))
(setqe0(entgetrect))
(while(setqx(nthie0))
(if(=(carx)10)
(progn
(setqptx(nth1x))
(setqpty(nth2x))
(setqx(listptxpty))
(setql1(consxl1))
)
)
(setqi(1+i))
)
(reversel1)
(setqp1(carl1))
(setqp1x(nth0p1))
(setqp1y(nth1p1))
(setqcount0)
(repeat3
(setqcount(+count1))
(setqpt(nthcountl1))
(setqptx(nth0pt))
(setqpty(nth1pt))
(setqpoint(mapcar'+p1pt))
(setqpoint(mapcar'/point'(2.02.02.0)))
(if
(and(/=(nth0point)p1x)
(/=(nth0point)ptx)
(/=(nth1point)p1y)
(/=(nth1point)pty)
)
(setqppoint)
)
)
(setql1nil)
(command"offset"5rectp"")
(setqe0(entlast))
(setqe1(entgete0))
(prince1)
(setqi0)
(while(setqx(nthie1))
(if(=(carx)10)
(progn
(setqptx(nth1x))
(setqpty(nth2x))
(setqx(listptxpty))
(setql1(consxl1))
)
)
(setqi(1+i))
)
(reversel1)
(setqp1(carl1))
(setqp2p1)
(command"erase"e0"")
(setqcount0)
(repeat3
(setqcount(+count1))
(setqpt(nthcountl1))
(command"trim"rect"""f"p1pt"""")
(setqp1pt)
)
(command"trim"rect"""f"p1p2"""")
(setvar"osmode"687)
)
画箍筋的lisp程序
画剪力墙暗柱很实用。
(defunC:
gg()
(inivar)
(command"layer""m""gangjin""c""24""""s""gangjin""");新建钢筋图层
(resvar)
(setq p1(getpoint"\n选第一点:
") ;外框线左下角点
p3(getpoint"\n选对角点:
")
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(if(>(*(-(carp1)(carp3))(-(cadrp1)(cadrp3)))0)
(progn
(if(>(-(carp1)(carp3))0)
(setqp0p1
p1p3
p3p0
)
)
(setqp2(list(carp3)(cadrp1))
p4(list(carp1)(cadrp3))
)
)
);判断取点方向并排序1
;;;;;;
(if(<(*(-(carp1)(carp3))(-(cadrp1)(cadrp3)))0)
(progn
(if(>(-(carp1)(carp3))0)
(setqp2p1
p4p3
)
(setqp4p1
p2p3
)
)
(setqp1(list(carp4)(cadrp2))
p3(list(carp2)(cadrp4))
)
)
);判断取点方向并排序2
;;;;;;
(setq p5(polarp1(*0.25pi)141) ;箍筋第一点
p6(polarp2(*0.75pi)141)
p7(polarp3(*1.25pi)141)
p8(polarp4(*1.75pi)141)
pd1(polarp5(*0.25pi)100)
pd2(polarp6(*0.75pi)100)
pd3(polarp7(*1.25pi)100)
pd4(polarp8(*1.75pi)100)
)
(inivar)
(command"pline"p5"w""45"""p6p7p8"c""")
(resvar)
(setqp01(getpoint"\n箍筋弯钩点:
"))
(inivar)
(if(and(<(abs(-(carp01)(carp1)))100)(<(abs(-(cadrp01)(cadrp1)))100))
(gujin1p5)
)
(if(and(<(abs(-(carp01)(carp2)))100)(<(abs(-(cadrp01)(cadrp2)))100))
(gujin2p6)
)
(if(and(<(abs(-(carp01)(carp3)))100)(<(abs(-(cadrp01)(cadrp3)))100))
(gujin3p7)
)
(if(and(<(abs(-(carp01)(carp4)))100)(<(abs(-(cadrp01)(cadrp4)))100))
(gujin4p8)
)
(command"layer""m""dianjin""c""253""""s""dianjin""")
(command"donut""0""80"pd1pd2pd3pd4"")
(resvar)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;画箍筋的子程序
(defungujin1(p5)
(setq d1120
d2150
p11(list(carp5)(+(cadrp5)d1))
p12(list(+(carp5)d1)(cadrp5))
p13(polarp11(*0.25pi)d2)
p14(polarp12(*0.25pi)d2)
)
(command"pline"p13"w""45"""p11p5p12p14"")
)
;;;
(defungujin2(p6)
(setq d1120
d2150
p11(list(carp6)(+(cadrp6)d1))
p12(list(-(carp6)d1)(cadrp6))
p13(polarp11(*0.75pi)d2)
p14(polarp12(*0.75pi)d2)
)
(command"pline"p13"w""45"""p11p6p12p14"")
)
;;;
(defungujin3(p7)
(setq d1120
d2150
p11(list(carp7)(-(cadrp7)d1))
p12(list(-(carp7)d1)(cadrp7))
p13(polarp11(*1.25pi)d2)
p14(polarp12(*1.25pi)d2)
)
(command"pline"p13"w""45"""p11p7p12p14"")
)
;;;
(defungujin4(p8)
(setq d1120
d2150
p11(list(carp8)(-(cadrp8)d1))
p12(list(+(carp8)d1)(cadrp8))
p13(polarp11(*1.75pi)d2)
p14(polarp12(*1.75pi)d2)
)
(command"pline"p13"w""45"""p11p8p12p14"")
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defuninivar()
;如果没有设定比例,默认其为100
(if(<=(getvar"userr1")0)
(setvar"userr1"100)
)
;读取系统变量
(setq oer *error*
*error* clmerr
)
(setq cmdold(getvar"CMDECHO")
osmold(getvar"OSMODE")
bliold(getvar"BLIPMODE")
) ;setqend
(setvar"CMDECHO"0)
(setvar"OSMODE"0)
(setvar"BLIPMODE"0)
(princ)
) ;defunend
;系统变量还原
(defunresvar()
(setvar"CMDECHO"cmdold)
(setvar"OSMODE"osmold)
(setvar"BLIPMODE"bliold)
(setq*error*oer)
(princ)
)
CAD快捷键大全
F1:
获取帮助
F2:
实现作图窗和文本窗口的切换
F3:
控制是否实现对象自动捕捉
F4:
数字化仪控制
F5:
等轴测平面切换
F6:
控制状态行上坐标的显示方式
F7:
栅格显示模式控制
F8:
正交模式控制
F9:
栅格捕捉模式控制
F10:
极轴模式控制
F11:
对象追踪式控制
Ctrl+B:
栅格捕捉模式控制(F9)
刚刚看了一下
dra:
半径标注
ddi:
直径标注
dal:
对齐标注
dan:
角度标注
Ctrl+C:
将选择的对象复制到剪切板上
Ctrl+F:
控制是否实现对象自动捕捉(f3)
Ctrl+G:
栅格显示模式控制(F7)
Ctrl+J:
重复执行上一步命令
Ctrl+K:
超级链接
Ctrl+N:
新建图形文件
Ctrl+M:
打开选项对话框
AA:
测量区域和周长(area)
AL:
对齐(align)
AR:
阵列(array)
AP:
加载*lsp程系
AV:
打开视图对话框(dsviewer)
SE:
打开对相自动捕捉对话框
ST:
打开字体设置对话框(style)
SO:
绘制二围面(2dsolid)
SP:
拼音的校核(spell)
SC:
缩放比例(scale)
SN:
栅格捕捉模式设置(snap)
DT:
文本的设置(dtext)
DI:
测量两点间的距离
OI:
插入外部对相
Ctrl+1:
打开特性对话框
Ctrl+2:
打开图象资源管理器
Ctrl+6:
打开图象数据原子
Ctrl+O:
打开图象文件
Ctrl+P:
打开打印对说框
Ctrl+S:
保存文件
Ctrl+U:
极轴模式控制(F10)
Ctrl+v:
粘贴剪贴板上的内容
Ctrl+W:
对象追踪式控制(F11)
Ctrl+X:
剪切所选择的内容
Ctrl+Y:
重做
Ctrl+Z:
取消前一步的操作
A:
绘圆弧
B:
定义块
C:
画圆
D:
尺寸资源管理器
E:
删除
F:
倒圆角
G:
对相组合
H:
填充
I:
插入
S:
拉伸
T:
文本输入
W:
定义块并保存到硬盘中
L:
直线
M:
移动
X:
炸开
V:
设置当前坐标
U:
恢复上一次操做
O:
偏移
P:
移动
Z:
缩放
显示降级适配(开关)【O】
适应透视图格点【Shift】+【Ctrl】+【A】
排列【Alt】+【A】
角度捕捉(开关)【A】
动画模式(开关)【N】
改变到后视图【K】
背景锁定(开关)【Alt】+【Ctrl】+【B】
前一时间单位【.】
下一时间单位【,】
改变到上(Top)视图【T】
改变到底(Bottom)视图【B】
改变到相机(Camera)视图【C】
改变到前(Front)视图【F】
改变到等大的用户(User)视图【U】
改变到右(Right)视图【R】
改变到透视(Perspective)图【P】
循环改变选择方式【Ctrl】+【F】
默认灯光(开关)【Ctrl】+【L】
删除物体【DEL】
当前视图暂时失效【D】
是否显示几何体内框(开关)【Ctrl】+【E】
显示第一个工具条【Alt】+【1】
专家模式全屏(开关)【Ctrl】+【X】
暂存(Hold)场景【Alt】+【Ctrl】+【H】
取回(Fetch)场景【Alt】+【Ctrl】+【F】
冻结所选物体【6】
跳到最后一帧【END】
跳到第一帧【HOME】
显示/隐藏相机(Cameras)【Shift】+【C】
显示/隐藏几何体(Geometry)【Shift】+【O】
显示/隐藏网格(Grids)【G】
显示/隐藏帮助(Helpers)物体【Shift】+【H】
显示/隐藏光源(Lights)【Shift】+【L】
显示/隐藏粒子系统(ParticleSystems)【Shift】+【P】
显示/隐藏空间扭曲(SpaceWarps)物体【Shift】+【W】
锁定用户界面(开关)【Alt】+【0】
匹配到相机(Camera)视图【Ctrl】+【C】
材质(Material)编辑器【M】
最大化当前视图(开关)【W】
脚本编辑器【F11】
新的场景【Ctrl】+【N】
法线(Normal)对齐【Alt】+【N】
向下轻推网格小键盘【-】
向上轻推网格小键盘【+】
NURBS表面显示方式【Alt】+【L】或【Ctrl】+【4】
NURBS调整方格1【Ctrl】+【1】
NURBS调整方格2【Ctrl】+【2】
NURBS调整方格3【Ctrl】+【3】
偏移捕捉【Alt】+【Ctrl】+【空格】
打开一个MAX文件【Ctrl】+【O】
平移视图【C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 经典 CADlisp 程序 集锦 CAD 快捷键 大全