乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
楼主: BrianTFC

[编程交流] 帮我解决Lisp程序的问题

[复制链接]

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 07:40:14 | 显示全部楼层
谢谢pBe,
我只是放了一个警告框,为了知道已经有一个同名文件,
当然,如果保存文件不重要,最好将专家设置为5。。。
 
干杯
亨里克
回复

使用道具 举报

39

主题

180

帖子

141

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
195
发表于 2022-7-6 07:44:00 | 显示全部楼层
谢谢pBe,
 
但我喜欢Henrique在代码中加入的“if”语句,我知道我不能过度编写任何面板。这是一个很好的安全功能。
 
圣诞快乐,谢谢你们的帮助。
回复

使用道具 举报

39

主题

180

帖子

141

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
195
发表于 2022-7-6 07:45:26 | 显示全部楼层
亨里克,
 
当我运行lisp时,我得到了以下消息:“错误:错误的参数类型:lselsetp nil”。有什么想法吗?
 
谢谢
布莱恩
回复

使用道具 举报

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 07:48:54 | 显示全部楼层
BrianTFC。
当我试图机械化您的代码时,我从一开始就知道您的面板的名称总是从
对于字母,在第二次选择中,选择文本实体并过滤以字母开头的实体,
“面板名称”,作为块名称,不选择数量,我认为它们总是在括号中
(1x)(2x)。。。
错误“error:bad argument type:lselsetp nil”是因为第二次选择失败“be text entity”
并以字母开头”,因此无法提供新文件的名称。。。
 
亨里克
回复

使用道具 举报

39

主题

180

帖子

141

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
195
发表于 2022-7-6 07:52:21 | 显示全部楼层
嗯,席尔瓦,
 
你是对的,我是个哑巴,但我用来测试lisp的示例将其面板标签作为多行文字,带有(2x),而不是DText。一旦我分解了它,它就完全按照你说的那样工作。非常感谢你的帮助。很高兴知道我不是唯一一个在圣诞节坐在电脑前的极客。
 
谢谢
布瑞恩
回复

使用道具 举报

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 07:54:59 | 显示全部楼层
BrianTFC。
现在不会给出这个误差,但它有一个约束,量必须始终在括号中,只有这样,
将从选择中排除。
 
  1. (defun c:psave (/ ss mn mx sst)
  2. (vl-load-com)
  3. (if (setq ss (ssget "_:S:E" '((0 . "INSERT,LWPOLYLINE"))))
  4.    (progn
  5.      (vla-getboundingbox
  6. (vlax-ename->vla-object (ssname ss 0))
  7. 'mn
  8. 'mx
  9.      )
  10.      (setq sst (ssget "W"
  11.         (trans (vlax-safearray->list mn) 0 1)
  12.         (trans (vlax-safearray->list mx) 0 1)
  13.         '((0 . "text") (1 . "~(*"))
  14. )
  15.      )
  16.      (if (= (findfile (strcat (getvar "dwgprefix")
  17.          (cdr (assoc 1 (entget (ssname sst 0))))
  18.          ".dwg"
  19.         )
  20.      )
  21.      nil
  22.   )
  23. (progn
  24.   (command "-wblock"
  25.     (strcat (getvar "dwgprefix")
  26.      (cdr (assoc 1 (entget (ssname sst 0))))
  27.     )
  28.     " "
  29.     "0"
  30.     "WINDOW"
  31.     (trans (vlax-safearray->list mn) 0 1)
  32.     (trans (vlax-safearray->list mx) 0 1)
  33.     ""
  34.   )
  35.   (command "oops")
  36. )
  37. ;; progn
  38. (alert
  39.   (strcat "\nThe "
  40.    (cdr (assoc 1 (entget (ssname sst 0))))
  41.    ".dwg already exists in the current directory!!!"
  42.   )
  43. )
  44.      )
  45.      ;; if
  46.    )
  47.    ;; progn
  48. )
  49. ;; if
  50. (princ)
  51. )

 
希望有帮助
亨里克
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 07:59:35 | 显示全部楼层
通过www.Lee-Mac添加一个名为parse的函数。lsp它将以这种方式从字符串中提取数字(a2),或者a-2等将返回2。
回复

使用道具 举报

39

主题

180

帖子

141

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
195
发表于 2022-7-6 08:03:04 | 显示全部楼层
昨天我在Autocad 2012中运行例程,它运行得很好,现在我尝试在Autocad 2009中运行它,我收到以下错误消息:“错误:自动化错误。没有数据库”有什么想法吗?
回复

使用道具 举报

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 08:04:38 | 显示全部楼层
BrianTFC。
我没有AC09来测试代码,因此,命令行类型“vlide”,在“vlide”中打开lisp文件,
在“调试”中选择“动画”,加载lisp文件并返回到AC,命令行类型为psave
看看代码在哪里出错,然后贴出它在哪里出错和错误。。。
我认为这与“activex”有关,但我不确定。
 
亨里克
回复

使用道具 举报

39

主题

180

帖子

141

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
195
发表于 2022-7-6 08:09:13 | 显示全部楼层
这是它在vlide中停止的位置,(ssname ss 0)。与之前相同的错误。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-10 15:10 , Processed in 0.353701 second(s), 71 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表