乐筑天下

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

[编程交流] Lisp到图标

[复制链接]

41

主题

82

帖子

41

银币

后起之秀

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

铜币
205
发表于 2022-7-6 12:05:45 | 显示全部楼层 |阅读模式
嗨,又是我了,能把下面的lisp转换成图标吗?而不是键入命令。
我在asmitools中有一个很好的Lisp程序。感谢asmitools网站。
再次感谢各位。
 
  1. (princ "\n<<< Select LwPolyline for dimensioning >>> ")
  2. (if(setq plSet(ssget '((0 . "LWPOLYLINE"))))
  3.    (progn
  4.      (setq pLlst(vl-remove-if 'listp
  5.                         (mapcar 'cadr(ssnamex plSet)))
  6.     oldDss(getvar "DIMASSOC")
  7.     ); end if
  8.      (setvar "CMDECHO" 0)
  9.      (command "_.undo" "_be")
  10.      (setvar "DIMASSOC" 2)
  11.      (foreach pl pLlst
  12. (setq vLst(mapcar '(lambda(x)
  13.            (trans x 0 1))(mapcar 'cdr
  14.              (vl-remove-if-not
  15.                '(lambda(x)(= 10(car x)))(entget pl))))
  16.       ); end setq
  17. (if(equal '(70 . 1)(assoc 70(entget pl)))
  18.   (setq vLst(append vLst(list(car vLst))))
  19.   ); end if
  20. (while(< 1(length vLst))
  21.   (setq cAng(angle(car vLst)(cadr vLst))
  22.         cDis(/(distance(car vLst)(cadr vLst))2))
  23.   (if(>=(caar vLst)(caadr vLst))
  24.     (setq cAng(- cAng pi))
  25.     ); end if
  26.   (setq cPt(polar
  27.              (polar(car vLst)cAng cDis)
  28.              (+ cAng(* 0.5 pi))(* tOff
  29.                                   (*(getvar "DIMSCALE")
  30.                                       (getvar "DIMTXT"))))
  31.         ); end setq
  32.   (command "_.dimaligned" "_end" (car vLst)
  33.            "_end" (cadr vLst) "_none" cPt)
  34.   (setq vLst(cdr vLst))
  35.   ); end while
  36. ); end foreach
  37.      (setvar "DIMASSOC" oldDss)
  38.      (command "_.undo" "_e")
  39.      (setvar "CMDECHO" 1)
  40.      ); end progn
  41.    ); end if
  42. (princ)
  43. ); end of c:pdim
  44. (princ "\n[info] http:\\\\[url]www.AsmiTools.com[/url] [info]")
  45. (princ "\n[info] Type PDIM for multiple LwPolyline dimensioning. [info]")
回复

使用道具 举报

4

主题

940

帖子

961

银币

初来乍到

Rank: 1

铜币
12
发表于 2022-7-6 13:42:59 | 显示全部楼层
我假设你想做一个工具栏按钮。你知道所有的代码都没有发布,但我想我能理解。在CUI中,创建新命令;将其用作宏。
其中LispName是lisp文件的名称
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 10:04 , Processed in 0.429154 second(s), 56 queries .

© 2020-2025 乐筑天下

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