明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 684|回复: 12

[提问] 小菜大师选择易出错卡死的问题

[复制链接]
发表于 2024-12-21 01:05:45 | 显示全部楼层 |阅读模式
用小菜大师的选择易,选择这种图块会出错。  出错的语句是:  (vl-prin1-to-string       '(("校对人_签名" "校对人_签名") ((SS-SEL_LAY "属性标志多选" (QUOTE ("校对人_签名" "会签人_建筑" "审核人_签名" "审定人_签名" "会签人_结构" "会签人_给排水" "会签人_电气" "会签人_暖通" "会签人_其他" "出图负责人章" "注册师章" "出图章" "专业负责人_签名" "设计人_签名" "版本号" "日期" "阶段" "专业" "子项编号" "工程编号" "子项名称" "工程名称" "比例" "图幅" "图名" "图号")) "txtFJ6") "属性标志多选...") ("会签人_建筑" "会签人_建筑") ("审核人_签名" "审核人_签名") ("审定人_签名" "审定人_签名") ("会签人_结构" "会签人_结构") ("会签人_给排水" "会签人_给排水") ("会签人_电气" "会签人_电气") ("会签人_暖通" "会签人_暖通") ("会签人_其他" "会签人_其他") ("出图负责人章" "出图负责人章") ("注册师章" "注册师章") ("出图章" "出图章") ("专业负责人_签名" "专业负责人_签名") ("设计人_签名" "设计人_签名") ("版本号" "版本号") ("日期" "日期") ("阶段" "阶段") ("专业" "专业") ("子项编号" "子项编号") ("工程编号" "工程编号") ("子项名称" "子项名称") ("工程名称" "工程名称") ("比例" "比例") ("图幅" "图幅") ("图名" "图名") ("图号" "图号")))



但是类似的语句就不出会出错:  (vl-prin1-to-string   '(("会签人_其他" "会签人_其他") ((SS-SEL_LAY "属性标志多选" (QUOTE ("会签人_其他" "会签人_暖通" "会签人_电气" "会签人_给排水" "会签人_结构" "版本号" "日期" "阶段" "专业" "子项编号" "工程编号" "子项名称" "工程名称" "比例" "审定人_签名" "审核人_签名" "会签人_建筑" "校对人_签名" "图幅" "图名" "图号")) "txtFJ6") "属性标志多选...") ("会签人_暖通" "会签人_暖通") ("会签人_电气" "会签人_电气") ("会签人_给排水" "会签人_给排水") ("会签人_结构" "会签人_结构") ("版本号" "版本号") ("日期" "日期") ("阶段" "阶段") ("专业" "专业") ("子项编号" "子项编号") ("工程编号" "工程编号") ("子项名称" "子项名称") ("工程名称" "工程名称") ("比例" "比例") ("审定人_签名" "审定人_签名") ("审核人_签名" "审核人_签名") ("会签人_建筑" "会签人_建筑") ("校对人_签名" "校对人_签名") ("图幅" "图幅") ("图名" "图名") ("图号" "图号")))


附上出图的文件,请问怎么改才能用呢。

本帖子中包含更多资源

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

x

点评

基本语法错误  发表于 2024-12-21 01:22
回复

使用道具 举报

发表于 2024-12-21 09:27:26 | 显示全部楼层
没有发现出错,2006~2008版本的CAD vl-prin1-to-string函数有bug,不能打印太长的中文
回复 支持 1 反对 0

使用道具 举报

发表于 2024-12-21 09:03:37 | 显示全部楼层
有好几个版本
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-12-21 10:27:49 | 显示全部楼层
小菜123 发表于 2024-12-21 09:27
没有发现出错,2006~2008版本的CAD vl-prin1-to-string函数有bug,不能打印太长的中文

小菜大师,感谢你的回复! 我用的是2012版本的cad,应该确实是vl-prin1-to-string函数的bug。上图的问题应该就是属性太多了导致的问题。按你的提示我把你的这个函数改了一下,把表拆分打印成子串后再连接起来就不会出错了:

(defun ss-mkstr ( tmp / STR )
      (cond
        ((= (type tmp) 'STR)   (setq str  tmp))
        ((= (type tmp) 'LIST)   (setq str  (strcat "("     ( vl-string-right-trim  " "   (apply 'strcat (mapcar '(lambda(x) (strcat (vl-prin1-to-string x)  " ")) tmp) ) )    ")")))
        ( T   (setq str  (vl-prin1-to-string tmp)))  
        )
     STR
      
)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-12-21 10:29:47 | 显示全部楼层
但是对于特殊的文字,比如内容如下的单行文字,还是会出错:    (vl-prin1-to-string       '(("校对人_签名" "校对人_签名") ((SS-SEL_LAY "属性标志多选" (QUOTE ("校对人_签名" "会签人_建筑" "审核人_签名" "审定人_签名" "会签人_结构" "会签人_给排水" "会签人_电气" "会签人_暖通" "会签人_其他" "出图负责人章" "注册师章" "出图章" "专业负责人_签名" "设计人_签名" "版本号" "日期" "阶段" "专业" "子项编号" "工程编号" "子项名称" "工程名称" "比例" "图幅" "图名" "图号")) "txtFJ6") "属性标志多选...") ("会签人_建筑" "会签人_建筑") ("审核人_签名" "审核人_签名") ("审定人_签名" "审定人_签名") ("会签人_结构" "会签人_结构") ("会签人_给排水" "会签人_给排水") ("会签人_电气" "会签人_电气") ("会签人_暖通" "会签人_暖通") ("会签人_其他" "会签人_其他") ("出图负责人章" "出图负责人章") ("注册师章" "注册师章") ("出图章" "出图章") ("专业负责人_签名" "专业负责人_签名") ("设计人_签名" "设计人_签名") ("版本号" "版本号") ("日期" "日期") ("阶段" "阶段") ("专业" "专业") ("子项编号" "子项编号") ("工程编号" "工程编号") ("子项名称" "子项名称") ("工程名称" "工程名称") ("比例" "比例") ("图幅" "图幅") ("图名" "图名") ("图号" "图号")))



不过一般没有这种内容的文字,所以也问题不大
回复 支持 反对

使用道具 举报

发表于 2024-12-21 10:36:38 | 显示全部楼层
2012的大概也有问题吧,试试更高版本的CAD。打印函数后来我也改了一下,没放进来
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-12-21 10:43:59 | 显示全部楼层
小菜123 发表于 2024-12-21 10:36
2012的大概也有问题吧,试试更高版本的CAD。打印函数后来我也改了一下,没放进来

确实如您说说, 用CAD2019就没有问题了。   
修改后的打印函数能发吗?我这个是瞎凑合的,有大师的原版最好了!

点评

有空的时候加进去吧,其实你自己改了能用就行  发表于 2024-12-21 10:49
回复 支持 反对

使用道具 举报

发表于 2024-12-21 11:31:07 | 显示全部楼层
本帖最后由 xyp1964 于 2024-12-21 11:32 编辑

能直接这么用?
  1. ((SS-SEL_LAY
  2.    "属性标志多选"
  3.    '(("校对人_签名"    "会签人_建筑"    "审核人_签名"    "审定人_签名"    "会签人_结构"    "会签人_给排水"  "会签人_电气"    "会签人_暖通"    "会签人_其他"    "出图负责人章""注册师章" "出图章"  "专业负责人_签名"  "设计人_签名"    "版本号""日期"  "阶段"  "专业" "子项编号" "工程编号" "子项名称"       "工程名称" "比例"  "图幅" "图名"  "图号" ) )
  4.    "txtFJ6"
  5. )
  6.   "属性标志多选..."
  7. )
回复 支持 反对

使用道具 举报

发表于 2024-12-21 11:46:31 | 显示全部楼层
模仿小菜和飞诗写的,你的这个dwg效果是这样的.

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-12-21 20:50:19 | 显示全部楼层
黄翔 发表于 2024-12-21 11:46
模仿小菜和飞诗写的,你的这个dwg效果是这样的.

你这个看起来也很不错,对多属性支持很好!厉害!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-22 22:00 , Processed in 0.316913 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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