明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3740|回复: 23

[源码] dwg图型输出为lisp文件

  [复制链接]
发表于 2022-6-5 12:27 | 显示全部楼层 |阅读模式
本帖最后由 guangdonglbq 于 2022-9-10 22:51 编辑

    主要是生成dxf组码,利用dxf组码,来生成图形。
    dxf组码,包含图层定义、标注样式、块定义、线型定义、文字样式、对象生成等大部分常用dwg文件的组码,有需要时,可以在编写其它程序时的参考,也可以直接复制相关代码使用。比如,图层定义,可以先建立自己想要的图层设置,然后用本程序生成相关的图层生成代码,复制到自己的lisp程序中去,去就可以直接使用。
    程序还可以用来画符号之类东西。结合需要修改后,可以用来搞参数化绘图。

    生成块的功能还有点小问题,使用时,可以自行处理。







本帖子中包含更多资源

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

x

评分

参与人数 5明经币 +5 收起 理由
vlisp2012 + 1
言戲無軍 + 1 神马都是浮云 强大
QF770 + 1 赞一个!
baitang36 + 1 很给力!
USER2128 + 1 赞一个!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下

本帖被以下淘专辑推荐:

发表于 2022-6-5 21:11 | 显示全部楼层
感谢分享 不知道是不是我姿势不对
转成的lisp 组码不对
(defun NewSignOrBlock (  / startEntity )
(entmake '((0 .  (cdr kDxf) )(100 .  (cdr kDxf) )(67 . 0)(410 .  (cdr kDxf) )(8 .  (cdr kDxf) )(100 .  (cdr kDxf) )(10 393.167 426.663 0.0)(11 706.735 -98.8315 0.0)(210 0.0 0.0 1.0)))
(setq startEntity ( entlast ) )
(entmake '((0 .  (cdr kDxf) )(100 .  (cdr kDxf) )(67 . 0)(410 .  (cdr kDxf) )(8 .  (cdr kDxf) )(100 .  (cdr kDxf) )(10 0.0 0.0 0.0)(11 393.167 426.663 0.0)(210 0.0 0.0 1.0)))
(AddToNewGroupFrom startEntity)
(princ)
)
(NewSignOrBlock)
发表于 2022-6-6 20:47 | 显示全部楼层
guangdonglbq 发表于 2022-6-6 18:25
我用autocad 2008、2010、2021测试,正常使用。不知道是不是你的autocad环境的问题

(setq strDxfStringCodes (append strDxfStringCodes (list (strcat "(" (rtos (car kDxf)) " . "" (cdr kDxf) "")"))))问题出现在115行这个位置,“”(cdr kdxf)“”  比如是圆,您想生成:(0 . "CIRCLE"),实际生成的是 (0 .  (cdr kDxf),不知道您是不是有其它函数,能把(cdr kDxf) 转成字符串,再加上引号
 楼主| 发表于 2022-10-14 17:19 | 显示全部楼层
liuyun242 发表于 2022-10-14 16:38
DIMSTYLE   输出有问题 多了一个“  (cons 340 (tblobjname "STYLE" "HX文字")")'(372 . 18))) 应为 (cons  ...

    有时候输出结果会有些莫名其妙的问题,猜测可能是princ函数的原因。最新版本基本已经处理发现的问题。
    一般用这个程序的,应该是写程序的朋友,使用的时候,测试一下,很容易就能发现是否有问题,再手改一下就好。
发表于 2022-6-5 21:53 | 显示全部楼层
这个牢固有了,搜图块打包,文字样式线型标注样式图层块名等等均识别。我的也是
 楼主| 发表于 2022-6-6 09:15 | 显示全部楼层
本帖最后由 guangdonglbq 于 2022-6-6 21:32 编辑
dtucad 发表于 2022-6-5 21:11
感谢分享 不知道是不是我姿势不对
转成的lisp 组码不对
(defun NewSignOrBlock (  / startEntity )

复制网页中的源码时候,\"  只复制了 "
下载附件中的文件吧。
 楼主| 发表于 2022-6-6 09:17 | 显示全部楼层
本帖最后由 guangdonglbq 于 2022-6-6 18:47 编辑
wzg356 发表于 2022-6-5 21:53
这个牢固有了,搜图块打包,文字样式线型标注样式图层块名等等均识别。我的也是

各有各的用途。不影响。
发表于 2022-6-6 10:51 | 显示全部楼层
谢谢梁老师分享新品
发表于 2022-6-6 12:19 | 显示全部楼层
我这边试了,可以转lisp,但是生成的lisp转不成图形,我用的是CAD2020,是跟CAD版本有关吗?
发表于 2022-6-6 12:43 | 显示全部楼层
我的转出来也出现(cdr kDxf)
 楼主| 发表于 2022-6-6 18:23 | 显示全部楼层
罗尼 发表于 2022-6-6 12:19
我这边试了,可以转lisp,但是生成的lisp转不成图形,我用的是CAD2020,是跟CAD版本有关吗?

注意:生成的lisp文件代码是不含量文字样式、标注样式的,如果含有这个,需要先改进程序或修改代码文件。
 楼主| 发表于 2022-6-6 18:25 | 显示全部楼层
罗尼 发表于 2022-6-6 12:43
我的转出来也出现(cdr kDxf)

我用autocad 2008、2010、2021测试,正常使用。不知道是不是你的autocad环境的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-4 16:18 , Processed in 0.396231 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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