制作幻灯片
本帖最后由 统一网名 于 2023-9-8 15:33 编辑使用方法,先画一个矩形框把要制作幻灯片的图框起来。然后运行点选矩形框,会保存为桌面 xxxx\ls.sld.
每次制作一个,并要及时改文件名。
[*](defun c:hdp (/ en d1 d2 d3 d4 zxd)
[*] (setq zm (vlax-invoke-method
[*] (vlax-get-property (vlax-create-object "wscript.shell") 'SpecialFolders)
[*] 'Item
[*] "desktop"
[*] )
[*]);获取默认桌面
[*] (vl-mkdir (setq wj (strcat zm "\\" "xxxx")));在桌面建立临时文件夹xxxx
[*](setq ls (strcat wj "\\" "ls.sld"));建立一个临时文件
[*](setq en(car(entsel "\n选择包围框")));获取对象名
[*](get-juxinwd en);矩形5点
[*](command "ZOOM" d1 d3 "")
[*](command "ERASE" en "")
[*](command "MSLIDE" ls)
[*])
[*];获取矩形5点
[*];dxname 对象名
[*];输出 d1 d2 d3 d4 zxd
[*];点顺序 左下 右下 右上 左上 中心点
[*](defun get-juxinwd (dxname / n dxf lst)
[*](setq dxf (entget dxname));
[*](foreach n dxf
[*] (if (= (car n) 10)(setq lst (cons (cdr n) lst)))
[*]);取得柱子的4顶点
[*](setq
[*] d1 (nth 0 lst)
[*] d2 (nth 1 lst)
[*] d3 (nth 2 lst)
[*] d4 (nth 3 lst)
[*]);矩形4个顶点坐标
[*](setq zxd (list (* 0.5(+ (car d2)(car d4)))(* 0.5 (+ (cadr d2) (cadr d4))) 0));
[*])
是比直接命令快一点,边框删除了,我补充了一条恢复删除的边框,在14行后面加一行,如下:
14.(command "MSLIDE" ls)
15.(command "OOPS" );恢复边框
16. )
我不想删掉边框,方便反复调试。
shcvip 发表于 2023-9-9 23:09
谢谢分享!
这个幻灯片是静态的,还有一种就是动态的,输入参数就是能实时调整的,不知道怎么写的。
http://bbs.mjtd.com/thread-91207-1-1.html
看一下这个贴子是不是对你有帮助 统一网名 发表于 2023-9-8 15:34
多谢提醒,那是建立 桌面文件夹出错了,代码已更正。
谢谢分享!
这个幻灯片是静态的,还有一种就是动态的,输入参数就是能实时调整的,不知道怎么写的。 提示,打开幻灯片时,程序出错。 shcvip 发表于 2023-9-8 12:17
提示,打开幻灯片时,程序出错。
可能是版本不一样吧,我的是cad2020
我测试了一下,也是打开文件出错,
在桌面建一个XXXX的文件夹,解决了
cds15980954301 发表于 2023-9-8 15:00
我测试了一下,也是打开文件出错,
在桌面建一个XXXX的文件夹,解决了
多谢提醒,那是建立 桌面文件夹出错了,代码已更正。 感谢大佬分享 {:1_1:}谢谢分享 {:1_1:}谢谢分享
页:
[1]
2