乐筑天下

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

[编程交流] 如何添加多个测试

[复制链接]

51

主题

481

帖子

457

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
262
发表于 2022-7-6 10:33:08 | 显示全部楼层
所以
每个部件的用途是什么?
我可以在每个lisp的开头添加这些部分吗?
这一部分用于处理错误消息
但不应该是StartUndoMark
 
在autocad中创建对象的步骤
 
这部分是否允许在modelspace和PaperSpace中绘制对象?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:35:53 | 显示全部楼层
 
如果例程在评估EndUndoMark之前崩溃,则vla EndUndoMark完成撤消对。
 
 
此部分从AutoCAD应用程序对象获取文档对象-请参见帮助中的对象模型结构。
 
 
这只是获取活动空间,无论是模型、纸张还是通过视口的模型。
回复

使用道具 举报

51

主题

481

帖子

457

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
262
发表于 2022-7-6 10:39:32 | 显示全部楼层
我试图添加一个循环,但没有工作,我不知道为什么
 
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:43:04 | 显示全部楼层
在您的代码中,整个IF语句需要返回T才能循环,如果返回了,您将无法退出。
 
更容易:
 
  1. (defun c:test (/ *error* DIMOFF P1 P2 P3 P4 SPC TXT UFLAG)
  2. (vl-load-com)
  3. (setq DimOff 400.0) ;; Dimension Offset Distance
  4. (defun *error* (msg)
  5.    (and uFlag (vla-EndUndoMark doc))
  6.    (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
  7.        (princ (strcat "\n** Error: " msg " **")))
  8.    (princ))
  9. (setq doc (cond (doc) ((vla-get-ActiveDocument
  10.                           (vlax-get-Acad-Object))))
  11.        spc (if (zerop (vla-get-activespace doc))
  12.              (if (= (vla-get-mspace doc) :vlax-true)
  13.                (vla-get-modelspace doc)
  14.                (vla-get-paperspace doc))
  15.              (vla-get-modelspace doc)))         
  16. (while (and (setq p1 (getpoint "\nPick Center Point: "))
  17.              (setq p2 (getpoint "\nPick Corner Point: "))
  18.              (/= "" (setq txt (getstring "\nColumn Number: "))))
  19.      (setq uFlag (not (vla-StartUndoMark doc)))
  20.      (apply (function vla-AddDimRotated)
  21.             (append (list spc)
  22.                     (mapcar
  23.                       (function vlax-3D-point)
  24.                       (list (setq  p3 (list (car p1) (cadr p2) (caddr p1))) p2
  25.                             (polar p3 (angle p1 p3) DimOff)))
  26.                     '(0.)))
  27.      (apply (function vla-AddDimRotated)
  28.             (append (list spc)
  29.                     (mapcar
  30.                       (function vlax-3D-point)
  31.                       (list p2 (setq  p4 (list (car p2) (cadr p1) (caddr p1)))
  32.                                (polar p4 (angle p1 p4) DimOff)))
  33.                     (list (/ pi 2.))))
  34.      (vla-AddText spc txt
  35.        (vlax-3D-point
  36.          (polar p2 (angle p1 p2) (sqrt (* 2. DimOff Dimoff)))) (getvar "TEXTSIZE"))              
  37.      (setq uFlag (vla-EndUndoMark doc)))
  38. (princ))
回复

使用道具 举报

51

主题

481

帖子

457

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
262
发表于 2022-7-6 10:44:44 | 显示全部楼层
我们可以删除colum吗
 
 
我补充道;靠近线路,但环路不工作
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:48:26 | 显示全部楼层
 
因为它是AND语句的一部分。
 
那么,是否也应该没有列文本?
回复

使用道具 举报

51

主题

481

帖子

457

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
262
发表于 2022-7-6 10:50:20 | 显示全部楼层

可以吗
 
有一个问题
如何以与lisp编辑器相同的格式发布lisp?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:56:08 | 显示全部楼层
Asos,
 
使用
  1. tags instead of  tags to post code.<p> </p><p>Read here:</p><p></p><p>http://www.cadtutor.net/forum/showthread.php?t=9184</p><p> </p><p>To get the colours of the Visual LISP Editor, I wrote a LISP to read the LISP file and write out code with the colour added. </p>
回复

使用道具 举报

51

主题

481

帖子

457

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
262
发表于 2022-7-6 10:59:32 | 显示全部楼层
你应该把名字改成Lisp MAc而不是Lee MAc
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:02:45 | 显示全部楼层
 
哈哈
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 00:16 , Processed in 0.340290 second(s), 70 queries .

© 2020-2025 乐筑天下

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