cad中lisp文件给恶作剧_求大神们帮忙更改下CAD 的lsp 文件 小弟谢谢啦

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

文字距离直线太远了 能改近点吗? 还有文字有的是倒着的,能正过来吗?

麻烦大神帮我改改 谢谢啦

(defun c:LLL()

(COMMAND"UCS" "")

(setvar"cmdecho" 1)

(SETVAR"OSMODE" 0)

(setq AcadObject (vlax-get-acad-object) AcadDocument (vla-get-ActiveDocument Acadobject) mSpace (vla-get-ModelSpace Acaddocument))

;;选取需要测量的样条曲线、圆弧、直线、椭圆

(setq en(ssget (list '(0 . "spline,arc,line,ellipse,LWPOLYLINE"))))

(setq i 0)

;;获取系统参数textsize

(setq shh (getvar "textsize"))

(setq str_hh(strcat "\n文字高度 : "))

(setq hh(getdist str_hh))

(while hh

(setvar "textsize" hh)

(setq hh nil))

;;输入标注文字高度

;;循环开始

(repeat(sslength en)

(setq ss(ssname en i))

(setq endata(entget ss))

(command "lengthen" ss "")

(setq dd(getvar "perimeter"))

(princ(strcat "\n长度=" (rtos dd 2)))

;;寻找代表图层的字符串

(setq aa(assoc 0 endata))

;;获取图层名称

(setq aa1(cdr aa))

;;判断线条种类

(cond ((= aa1 "SPLINE")

;;如果是spline

(progn

(setq arcObj(VLAX-ENAME->VLA-OBJECT ss))

(setqstartPnt1 (vla-get-ControlPoints arcObj))

(setq p1

(vlax-safearray->list(vlax-variant-value startPnt1))

)

(setq x1 (car p1))

(setq y1(cadr p1))

(setq z1(caddr p1))

(setq pp1(list x1 y1 z1))

(repeat (- (/(length p1) 3) 1)

;;循环,寻找最后一个控制点

(setq p1(cdddr p1))

(setq x2 (car p1))

(setq y2(cadr p1))

(setq z2(caddr p1))

)

(setq pp2(list x2 y2 z2))

)

)

((= aa1"LWPOLYLINE")

;;如果是LWPOLYLINE

(progn

(setq arcObj(VLAX-ENAME->VLA-OBJECT ss))

(setqstartPnt1 (vla-get-Coordinates arcObj))

(setq p1

(vlax-safearray->list(vlax-variant-value startPnt1))

)

(setq x1 (car p1))

(setq y1(cadr p1))

(setq z1(caddr p1))

(setq pp1(list x1 y1 z1))

(repeat (- (/(length p1) 3) 1)

;;循环,寻找最后一个控制点

(setq p1(cdddr p1))

(setq x2 (carp1))

(setq y2(cadr p1))

(setq z2(caddr p1))

)

(setq pp2(list x2 y2 z2))

)

)

(t

;;如果是其他种类线条

(progn

(setq arcObj(VLAX-ENAME->VLA-OBJECT ss))

(setq startPnt1 (vla-get-StartPoint arcObj))

;;获取起点

(setq endPnt1(vla-get-EndPoint arcObj))

;;获取终点

(setq pp1 (vlax-safearray->list(vlax-variant-value startPnt1))

)

(setq

pp2(vlax-safearray->list (vlax-variant-value endPnt1))

)

)

)

)

(setq x1 (car pp1))

(setq y1(cadr pp1))

(setq z1(caddr pp1))

(setq x2 (car pp2))

(setq y2(cadr pp2))

(setq z2(caddr pp2))

(setq x (/ (+ x1 x2) 2))

(setq y (/ (+ y1 y2) 2))

(setq z (/ (+ z1 z2) 2))

(setq pt(list x y z))

;;取得线段两端的中点

(setq ang(a

ngle pp1 pp2))

;;获取角度

(if (> (* (/ ang pi) 180) 180)

(setq ang (+ ang pi))

)

(command "text"

"j"

"bc"

pt

""

(* (/ ang pi) 180)

(strcat "" (rtos dd 2))

""

)

(setq i (1+ i)))

(prin1)

)

(prompt"\n <>在图中直接写出长度")

(prin1)

1010b0c497d9b9b3b66f5e1af8d21b4f.png

cad经典LSP文件,各种应用实例 如果您使用 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的图)   brk.lsp --- 将一线条在与其它线条相交处断开 peditx.lsp --- 成批修改线条的线宽 ex.lsp --- 分别或一起或通过层来炸开块、尺寸标注及PLINE线 chcr.lsp --- 修改园和园弧的半径 lay.lsp --- 通过点取层上一实体来实现层操作:删除/解冻/冻结 bg0.lsp --- 直接将正负零标注在图纸(建筑结构图用) bg1.lsp~bg4.lsp --- 标注各种标高 hu.lsp --- 直接给出园弧长度 jdx.lsp --- 截断线 jdx2.lsp --- 双截断线 bdgj.lsp --- 板底钢筋(土建结构图用) bdgj1.lsp,bdgj2.lsp --- 板顶钢筋(土建结构图用) dk1.lsp~dk8.lsp --- 配合PKPM软件生成的图绘洞口(基础留洞) gl1.lsp~gl8.lsp --- 配合PKPM软件生成的图绘过梁(结构平面图) gzz.lsp --- 构造柱绘制 ACAD.LIN --- 增强的线型文件, 扩充线型(线型比例为1)如下: XX -- 虚线(用于1:1的图) DHX -- 点划线(用于1:1的图) XX100 -- 虚线(用于1:100的图) DHX100 -- 点划线(用于1:100的图) ACAD.LSP --- 增强的ACAD启动文件, 命令扩展如下: CHXX -- 将线型改为虚线(用于1:1的图) CHDHX -- 将线型改为点划线(用于1:1的图) CHXX100 -- 将线型改为虚线(用于1:100的图) CHDHX100 -- 将线型改为点划线(用于1:100的图) CHCON -- 将线型改为连续线 CHC -- 直接修改实体的颜色 其余详见ACAD.LSP的内容。ACAD的命令缩写根据其使用的频率作了调整。 V -- 先执行ZOOM E, 再将当前视图存储,并调用ZOOM W 此命令主要为"超级视图"做准备,"超级视图"妙处一用便知 ! 建议使用显 示卡自带的AutoCAD显示驱动 增强后的ACAD.LSP能在状态行上显示当前文件名 ACAD.MNU的改进: 调整了光标菜单(共两页),并将最常用的捕捉方式定义 在组合光标键上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值