明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1430|回复: 13

LayoutsToDwgs.lsp 多布局转单DWG

[复制链接]
发表于 2023-7-2 14:57 | 显示全部楼层 |阅读模式
本帖最后由 kiloleo2 于 2023-7-2 14:58 编辑

赚些明经币,源码网上别人分享的,具体作用是一个dwg文件如果有多个布局,可以自动转换成多个单布局dwg.有需要的人拿去.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2023-7-5 16:54 | 显示全部楼层
e2002 发表于 2023-7-3 10:57
拿别人的源码收币?这不符合本站“潜规则”哈。希望你主动取消收币下载。

记得我在本版发过这个功能的源 ...

依赖DOISLIB 很不好,改写的
  • ;;【BOBO】布局多选列表
  • (defun bt-mlistbox (/ lst dch des tmp rtn )
  •   (setq tmp (vl-filename-mktemp nil nil ".dcl"))
  •   (setq des (open tmp "W"))
  •   (write-line
  •     (strcat "listbox:dialog{label=\"【BOBO】布局多选列表>输出到模型空间\";spacer;:list_box{key=\"list\";multiple_select=true;width=50;height=15;}spacer;ok_cancel;}")
  •     des
  •   )
  •   (not (close des))
  •   (< 0 (setq dch (load_dialog tmp)))
  •   (new_dialog "listbox" dch)
  •   (start_list "list")
  •   (foreach itm (setq lst (layoutlist)) (add_list itm))
  •   (end_list)
  •   (setq rtn (set_tile "list" "0"))
  •   (action_tile "list" "(setq rtn $value)")
  •   (setq rtn
  •     (if (= 1 (start_dialog))
  •       (mapcar '(lambda ( x ) (nth x lst)) (read (strcat "(" rtn ")")))
  •     )
  •   )
  •   (if (< 0 dch)
  •     (unload_dialog dch)
  •   )
  •   (if (and tmp (setq tmp (findfile tmp)))
  •     (vl-file-delete tmp)
  •   )
  •   rtn
  • )
  • ;移除嵌套表中的所有nil元素----(一级)------
  • ;;(remove-nil '("毛主席" (1 nil 2 nil 3) nil (nil nil (nil) )))
  • (defun remove-nil (lst)
  •   (if (= (type lst) 'list)
  •     (vl-remove nil (mapcar 'remove-nil (vl-remove nil lst)))
  •     lst
  •   )
  • )
  • ;;存储系统变量-------(一级)--------------
  • ;;lis系统变量表 '("osmode" "cmdecho" "ORTHOMODE")
  • (defun sysvar (lis / n)
  •   (setq e_lst (remove-nil (mapcar (function (lambda (n) (if (getvar n) (list 'setvar n (getvar n))))) lis)))
  •   e_lst
  • )
  • ;;批量输出Layouts到Model
  • (defun c:tt (/ e_lst ilen lslayouts sdwgname sdwgout sfolder sitem stab)
  •   (setq e_lst (sysvar '("FILEDIA" "CMDECHO")))
  •   (setq
  •     sfolder (getvar "DWGPREFIX")
  •     sdwgname (getvar "DWGNAME")
  •     sdwgname (substr sdwgname 1 (- (strlen sdwgname) 4))
  •     stab (getvar "CTAB")
  •   )
  •   (vl-arx-import 'layoutlist)
  •   (if (setq lslayouts (bt-mlistbox))
  •     (progn
  •       (setvar "FILEDIA" 0)
  •       (setvar "CMDECHO" 0)
  •       (foreach sitem lsLayouts
  •         (setvar "CTAB" sitem)
  •         (setq sdwgout (strcat sfolder sdwgname "_" sitem))
  •         (vl-cmdf "_.exportlayout" sdwgout)
  •       )
  •       (setvar "CTAB" stab)
  •     )
  •   )
  •   (mapcar 'eval e_lst)
  •   (princ)
  • )

点评

另外对于doslib,我个人认为是一个非常好的工具,已经有>25年的历史,任职mcneel公司(rhino开发商)的作者 Dale Fugier 后来在 github上开源了doslib。  发表于 2023-7-6 10:49
实际上我自己用的版本是使用了自己写的 dcl的仿doslib的标准库,但因为要提供给所有人使用,因此公开发出的这个源代码改用了doslib函数,这样不会有内部函数库依赖。  发表于 2023-7-6 10:46
回复 支持 1 反对 0

使用道具 举报

发表于 2023-7-3 10:57 | 显示全部楼层
拿别人的源码收币?这不符合本站“潜规则”哈。希望你主动取消收币下载。

记得我在本版发过这个功能的源码,上次在zhihu也贴出了:
https://zhuanlan.zhihu.com/p/584554050
发表于 2023-7-3 16:00 | 显示全部楼层
看看是什么好东西
发表于 2023-7-3 17:02 | 显示全部楼层
e2002 发表于 2023-7-3 10:57
拿别人的源码收币?这不符合本站“潜规则”哈。希望你主动取消收币下载。

记得我在本版发过这个功能的源 ...



是这个吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2023-7-3 17:17 | 显示全部楼层
把原作者吸引过来了么?
 楼主| 发表于 2023-7-3 19:13 | 显示全部楼层
e2002 发表于 2023-7-3 10:57
拿别人的源码收币?这不符合本站“潜规则”哈。希望你主动取消收币下载。

记得我在本版发过这个功能的源 ...

OK.大神你的东西当然你说了算
发表于 2023-7-4 17:00 | 显示全部楼层
哈哈哈 别吓跑妹子
发表于 2023-8-16 18:09 | 显示全部楼层
没什么变化,用处不大
发表于 2023-11-27 21:43 | 显示全部楼层

大神加载后出现错误
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-28 06:24 , Processed in 0.394509 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表