统一网名 发表于 2023-9-8 07:43:27

制作幻灯片

本帖最后由 统一网名 于 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));
[*])



jun470 发表于 3 天前

是比直接命令快一点,边框删除了,我补充了一条恢复删除的边框,在14行后面加一行,如下:

14.(command "MSLIDE" ls)
15.(command "OOPS" );恢复边框
16. )

我不想删掉边框,方便反复调试。

统一网名 发表于 2023-9-11 07:59:14

shcvip 发表于 2023-9-9 23:09
谢谢分享!
这个幻灯片是静态的,还有一种就是动态的,输入参数就是能实时调整的,不知道怎么写的。

http://bbs.mjtd.com/thread-91207-1-1.html
看一下这个贴子是不是对你有帮助

shcvip 发表于 2023-9-9 23:09:44

统一网名 发表于 2023-9-8 15:34
多谢提醒,那是建立 桌面文件夹出错了,代码已更正。

谢谢分享!
这个幻灯片是静态的,还有一种就是动态的,输入参数就是能实时调整的,不知道怎么写的。

shcvip 发表于 2023-9-8 12:17:37

提示,打开幻灯片时,程序出错。

统一网名 发表于 2023-9-8 14:25:59

shcvip 发表于 2023-9-8 12:17
提示,打开幻灯片时,程序出错。

可能是版本不一样吧,我的是cad2020

cds15980954301 发表于 2023-9-8 15:00:59


我测试了一下,也是打开文件出错,
在桌面建一个XXXX的文件夹,解决了

统一网名 发表于 2023-9-8 15:34:50

cds15980954301 发表于 2023-9-8 15:00
我测试了一下,也是打开文件出错,
在桌面建一个XXXX的文件夹,解决了

多谢提醒,那是建立 桌面文件夹出错了,代码已更正。

magicheno 发表于 2023-9-22 13:13:53

感谢大佬分享

sjl_fyl 发表于 2023-11-30 16:57:59

{:1_1:}谢谢分享

sjl_fyl 发表于 2023-12-1 09:28:44

{:1_1:}谢谢分享
页: [1] 2
查看完整版本: 制作幻灯片