乐筑天下

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

[编程交流] 插入按钮

[复制链接]

11

主题

40

帖子

29

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
55
发表于 2022-7-6 10:35:35 | 显示全部楼层 |阅读模式
我正在制作一个程序,允许用户在工作空间中插入一个或两个箭头按钮。插入的按钮是一个箭头,因此它可以是向上箭头或向下箭头,具体取决于旋转方向。有关放置,请参见附图。这基本上就是我希望程序最终要做的。
 
程序运行
选择基点
按钮类型??(89,90,91,92;颜色;材料;标记)
1或2个箭头?(1或2个btn)
 
在z中查找图形:\
如果图纸不存在,(princ“\n文件不存在”)
 
如果输入1 btn,则
箭头方向(上/下)
如果向下,将btn旋转180度
插入btn地图车(0+4.125 0)
 
elsif输入了2个btn,然后
插入btn映射(0+5.375 0)
插入btn旋转180度的地图车(0+2.875 0)
 
附件是我的出发点代码。运行时,它会提示用户按钮的样式、材质、颜色和标记。它将给定的所有信息存储到名为“Pressel”的变量中。我希望它在一个特定的驱动器中定位文件(如z:\),然后将其插入
用户选择的屏幕。我想扩展它以满足我的需要,但遇到了“障碍”,不确定如何继续。
感谢您的帮助。
 
肯特
起点。lsp
113538vm9u95jtmz5xc5mx.jpg
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:42:03 | 显示全部楼层
我无法测试这一点,因为我没有障碍,但它可能会为您指明正确的方向:
 
  1. (defun c:ARW ( / *error* vl ov f p d )
  2. ;; © Lee Mac 2010
  3. (defun *error* ( msg )
  4.    (and ov (mapcar 'setvar vl ov))
  5.    (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
  6.        (princ (strcat "\n** Error: " msg " **")))
  7.    (princ)
  8. )
  9. (setq vl '("CLAYER" "CMDECHO" "OSMODE") ov (mapcar 'getvar vl))
  10. (if (and
  11.        (setq f
  12.          (findfile
  13.            (strcat "PR"
  14.              (apply 'strcat  
  15.                (mapcar
  16.                  (function
  17.                    (lambda ( foo str init )
  18.                      (and init (initget 1 init)) ((eval foo) str)
  19.                    )
  20.                  )
  21.                  '(getkword getkword getkword)
  22.                  '("\nSpecify Type [89/90/91/92] : "
  23.                    "\nSpecify Material [s/B] : "
  24.                    "\nSpecify Colour [R/W/A/G] : "
  25.                   )
  26.                  '("89 90 91 92" "S B" "R W A G")
  27.                )
  28.              )
  29.              "-AR.dwg"
  30.            )
  31.          )
  32.        )
  33.        (setq p (getpoint "\nSpecify Insertion Point: "))
  34.        (setq d (getangle "\nSpecify Direction: " p))
  35.        (mapcar 'setvar (cdr vl) '(0 0))
  36.       
  37.        (or (tblsearch "LAYER" "PBFACE")
  38.            (not (command "_.-layer" "_M" "PBFACE" ""))
  39.        )
  40.        (setvar 'CLAYER "PBFACE")
  41.      )   
  42.    (command "_.-insert" f "_non" (polar p (/ pi 2.) 4.125) "" "" (- (* 180. (/ d pi)) 90.))
  43. )
  44. (mapcar 'setvar vl ov)
  45. (princ)
  46. )
  47.    
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 10:44:39 | 显示全部楼层
  1. Command: arw
  2. Specify Type [89/90/91/92] :
  3. Specify Material [s/B] :
  4. Specify Colour [R/W/A/G] :
  5. ** Error: bad argument type: stringp nil **
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:46:38 | 显示全部楼层
哈哈!这将教会我不要测试它
 
上面修好了,谢谢伙计。
回复

使用道具 举报

11

主题

40

帖子

29

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
55
发表于 2022-7-6 10:50:22 | 显示全部楼层
嘿,李,
界面很好,很简单。唯一的问题是,在选择颜色后,它会立即停止程序。指定类型、材质、颜色,然后只指定命令:我给出了文件的确切名称。但没有选择插入点的提示。是否必须以某种方式将目录添加到autocad?
回复

使用道具 举报

11

主题

40

帖子

29

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
55
发表于 2022-7-6 10:53:47 | 显示全部楼层
我试着把这个输入到命令行,结果一无所获。我直接看了看名字,它说找不到。
 
(findfile“PR90SR-1-B44”)
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 10:55:11 | 显示全部楼层
是的,我不确定这个障碍是否在你的支持道路上。。
 
两种解决方案:
 
1) 添加块的位置作为支撑路径
 
2) 在LISP中指定目录并“strcat”它以在第一个findfile调用中作为文件名的前缀。
 
记住标记任何MOD
 
回复

使用道具 举报

11

主题

40

帖子

29

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
55
发表于 2022-7-6 10:59:51 | 显示全部楼层
我很乐意标记mods。并将块添加到支持路径中。。。。选项->文件选项卡->+支持文件搜索路径->添加
 
还是只针对DCL文件??
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:02:13 | 显示全部楼层
支持路径可以包含需要通过AutoCAD进行搜索的任何类型的文件
回复

使用道具 举报

11

主题

40

帖子

29

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
55
发表于 2022-7-6 11:05:55 | 显示全部楼层
有没有办法添加一个包含子文件夹的整个文件夹作为支持驱动器。我正在导入的图形位于网络驱动器上,我不希望必须将每个子文件夹添加到办公室中的所有计算机才能使用它。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 16:55 , Processed in 1.006908 second(s), 75 queries .

© 2020-2025 乐筑天下

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