明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4822|回复: 20

[资源] 图块打包生成lsp程序 ss2lsp

[复制链接]
发表于 2023-11-21 13:27:25 | 显示全部楼层 |阅读模式
本帖最后由 wzg356 于 2023-11-29 11:27 编辑

这个是http://bbs.mjtd.com/thread-184666-1-1.html的一部分,剥离出来
固版也写有一个


图块打包生成插入图块的lsp程序--------可用于建立管理符号库/块
支持 '((0 . "*LINE,CIRCLE,ARC,ELLIPSE,3DFACE,*TEXT,DIMENSION,INSERT,ATTDEF,HATCH,LEADER,MULTILEADER"))
包含属性块,动态块不支持
复杂填充处理有点缺陷
尽量用常用的自定义线型、填充、字体等
样式bug已修符
DIMENSION对象群码表没有的箭头、尺寸线等属性全部随样式
命令ss2lsp

可以按下面写法改写是否还支持其他图元

下面是启动函数的写法(已在fas里面)
这里只打包一个选择集
生成的插入块程序在C盘根目录
生成的程序函数名按时间序列命名,避免重名
生成的插入图块程序xxx.lsp里面顶部有备注用法
(defun c:ss2lsp( / filters ss strs funstr)
(if        (and(setq ss(ssget
        '((0 . "*LINE,CIRCLE,ARC,ELLIPSE,3DFACE,*TEXT,DIMENSION,INSERT,ATTDEF,HATCH,LEADER,MULTILEADER"))
                ))
                (setq funstr(strcat"X"(substr(rtos(* (getvar "cdate")1e4)2 0)5)))
                (setq strs(sss2lsp(list ss) funstr))
        )(progn        
        (setq funstr(strcat "c:\\"funstr".lsp"))
        (setq f(open funstr "w"))
        (foreach str strs(write-line str f))
        (close f)
        (alert(strcat"\n成功输出文件"funstr))
))
)

需要扩展使用的,(sss2lsp(list ss1 ss2 .....) "函数名");返回ss1 ss2的插入程序字符串







本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2023-11-21 21:03:46 | 显示全部楼层
;;;===============
(DEFUN X11212102ENTALL (E / ENT SS ENV) (SETQ ENT E) (DEFUN ENV (ENT) (MEMBER (CDR (ASSOC 0 (ENTGET ENT))) (QUOTE ("ATTRIB" "VERTEX" "SEQEND")))) (SETQ SS (SSADD)) (IF (OR ENT (AND (SETQ ENT (ENTNEXT)) (IF (NOT (ENV ENT)) (SSADD ENT SS)))) (WHILE (SETQ ENT (ENTNEXT ENT)) (IF (NOT (ENV ENT)) (SSADD ENT SS)))) SS)
; 错误: 参数类型错误: streamp nil
发表于 2025-6-15 13:02:08 | 显示全部楼层
KO你 发表于 2025-6-15 01:36
等楼主更新支持动态块

那不用等了,大部分动态块不支持编程创建的。
一劳永逸的方法其实是图块直接导出DWG(一个DWG可以包含多个图块),然后将DWG文件转码成base64的字符串,lisp中保存这个字符串,运行时根据base64写出为DWG,再插入DWG,这样可以完美支持任意动态块,还不容担心字型之类的没有定义的问题。
回复 支持 反对

使用道具 举报

发表于 2025-6-15 13:08:42 | 显示全部楼层
kozmosovia 发表于 2025-6-15 13:02
那不用等了,大部分动态块不支持编程创建的。
一劳永逸的方法其实是图块直接导出DWG(一个DWG可以包含多 ...

我也是这样想的,有什么方法把DWG文件打包在fas文件或vlx文件里,再输入命令运行插入。我记得论坛有打包的程序,我看不懂不会用。
回复 支持 反对

使用道具 举报

发表于 2023-11-21 14:07:58 | 显示全部楼层
这是好东西啊,谢谢楼主分享。
发表于 2023-11-21 15:15:14 | 显示全部楼层
谢谢楼主分享
发表于 2023-11-21 15:17:02 | 显示全部楼层
谢谢楼主分享
发表于 2023-11-21 15:55:11 | 显示全部楼层
带有文字和标注的样式会丢
 楼主| 发表于 2023-11-21 16:00:54 来自手机 | 显示全部楼层
本帖最后由 wzg356 于 2023-11-21 18:24 编辑
hao3ren 发表于 2023-11-21 15:55
带有文字和标注的样式会丢

文字样式修复了,宋体原因,另外样式名别用standard

标注样式属性有待改建
发表于 2023-11-22 08:22:00 | 显示全部楼层

谢谢楼主分享
 楼主| 发表于 2023-11-22 09:48:34 | 显示全部楼层
样式bug已修符
发表于 2023-11-22 12:38:02 | 显示全部楼层
谢谢楼主分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-8-12 09:27 , Processed in 0.183439 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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