明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 7173|回复: 53

[经验] lisp源码:生成任意尺寸的pdf纸张

    [复制链接]
发表于 2024-3-19 21:54:29 | 显示全部楼层 |阅读模式
本帖最后由 陨落 于 2024-3-19 21:58 编辑

根据baitang36老师的帖子:http://bbs.mjtd.com/thread-189458-1-1.html

以及帖子下各位大神(如mj000,直接大白话讲出了实现这个功能的原理)的讨论,我写出了生成任意尺寸pdf纸张的lisp程序。纯lisp源码



包含两个函数:pc3_add_pdfsize----生成pc3和与其绑定的pmp文件,其中包含自定义的图纸尺寸和名称
pmp_add_picsize-----生成pmp文件,其中包含自定义的图纸尺寸和名称
在写批量打印程序的时候,有了这两个函数,就可以随心所欲地添加自定义尺寸了





本帖子中包含更多资源

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

x

评分

参与人数 17明经币 +16 金钱 +180 收起 理由
菜卷鱼 + 1 赞一个!
edata + 1 + 50 神马都是浮云
伪书虫86 + 1 很给力!
jh1005 + 1 很给力!
言戲無軍 + 1 很给力!
baitang36 + 1 很给力!
masterlong + 1 + 50 先评分再下载
叮咚 + 1 很给力!
magicheno + 1 很给力!
Bao_lai + 1 神马都是浮云

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2024-3-21 09:40:40 | 显示全部楼层
;;感谢 baitang36 陨落 mj000 等等大神,我做个实际使用的例子。

本帖子中包含更多资源

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

x
回复 支持 2 反对 1

使用道具 举报

发表于 2024-6-18 10:45:44 | 显示全部楼层
本帖最后由 wudechao 于 2024-6-24 23:19 编辑

把2008的custom分离出来,单独加载,终于解决了cad2008,2009崩溃问题(cad2007崩溃,无法找到崩溃原因,且使用的人太少,故放弃支持)。完美收官之作。cad2011无法测试,只测试了cad2008,cad2009,cad2010,cad2012,cad2016,cad2017,cad2020,cad2022,cad2024,cad2025.

本帖子中包含更多资源

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

x
回复 支持 1 反对 1

使用道具 举报

 楼主| 发表于 2024-3-20 11:31:34 | 显示全部楼层
xinxirong 发表于 2024-3-20 10:55
这个pmp pc3不需要zip压缩一下?

妙就妙在这里,根本不需要压缩。。这就是baitang36和mj000两位高手公布出来的秘密。
回复 支持 0 反对 1

使用道具 举报

发表于 2024-3-20 23:35:33 | 显示全部楼层
本帖最后由 kucha007 于 2024-3-21 21:40 编辑

感谢大佬分享,梳理了一遍代码
rtos会受到DIMZIN的影响,做了点调整。
感觉生成PMP改一下就可以生成多个图纸了~


本帖子中包含更多资源

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

x
回复 支持 1 反对 0

使用道具 举报

发表于 2024-3-19 22:31:36 | 显示全部楼层
这分享奉献精神就很棒
发表于 2024-3-20 00:17:16 | 显示全部楼层
本帖最后由 你有种再说一遍 于 2024-3-20 16:20 编辑

其实不光是这样打印,而是全程自动化,
首先要制作标准目录,标准图框(可拉伸,但是块名要有共同前缀),然后标准图签(字段),制作它们是为了好搜索,达到O(1)时间复杂度.


然后发送给服务器,
服务器自动创建多个cad进程进行切割任务,
然后会进入最后一次校验目录和图签是否对应(是否一个图框内存在多个图签,是否和目录不匹配等等),
再开图纸,乱序单张打印,因为图名是PDF名,完成后通过目录序号合并PDF,
服务器再根据配置自动发送PDF附件到邮箱,给自己和他人检查,
服务器邮箱等待回复,通过回复指定编号的打印机,进行纸张打印...

小小一个打印就可以降低人力检查图签和目录不一致的情况.


然后你又想检查平立剖的面号剖号...
可以制作一个json存储一个map用来校验.
选中图纸图签,右键新建索引,产生一个可超链接的图块.
这样简化了超链接的使用,重点是出图时候校验索引是否存在断开冲突...

所以还需要什么个图纸集...
万物皆可校验...
越做越大...
逃...
发表于 2024-3-20 07:55:33 | 显示全部楼层
感谢分享感谢分享感谢分享
发表于 2024-3-20 08:13:57 | 显示全部楼层
本帖最后由 wudechao 于 2024-3-20 08:36 编辑

感谢分享,如果用cad默认pc3和pmp目录,可以改为如下。
(defun c:tt ()
  (setq wid (getdist "\n输入宽度")
    hit (getdist "\n 输入高度")
  )
  (princ (strcat (rtos wid 2 2) " x " (rtos hit 2 2)))
  (setq path-rootfolder (vl-registry-read (strcat "HKEY_CURRENT_USER\\" (vlax-product-key)) "RoamableRootFolder"))
  (setq path-pc3 (strcat path-rootfolder "Plotters\\"))
  (setq path-pmp (strcat path-pc3 "PMP Files\\"))
  (setq pmp-name (strcat path-pmp "zpdf.pmp"))
  (setq pc3-name (strcat path-pc3 "zpdf.pc3"))
  (pc3_add_pdfsize pmp-name "mysize123" wid hit pc3-name)
)


发表于 2024-3-20 08:40:58 | 显示全部楼层
厉害,佩服楼主的钻研精神,原来不一定非要解密再加密,直接明码就行。
发表于 2024-3-20 08:42:14 | 显示全部楼层
本帖最后由 sandyvs 于 2024-3-20 10:34 编辑

感谢各位大神!话说怎么增加像素尺寸?就是要打印成图片
发表于 2024-3-20 09:18:28 | 显示全部楼层
富有且慷慨
发表于 2024-3-20 10:55:08 | 显示全部楼层
这个pmp pc3不需要zip压缩一下?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-22 20:55 , Processed in 0.200133 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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