乐筑天下

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

[编程交流] 插入c的行为帮助

[复制链接]

77

主题

298

帖子

232

银币

后起之秀

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

铜币
394
发表于 2022-7-5 23:18:31 | 显示全部楼层 |阅读模式
嘿伙计们,
 
希望这对你们中的一些人来说很容易。。。
 
我有一个LISP例程,如下所示,在我的工作机器上,它的行为完美如图所示。但在我同事的一台机器上,“INSERT”命令调用将启动INSERT对话框。
 
我知道可以绕过对话,使用命令提示符版本的命令,在前面加上连字符,但我只是想知道是否有人可以解释我们两台机器之间的不同行为。是否存在控制这一点的系统变量?
 
  1. (Defun c:AH ()
  2. (SETVAR "ORTHOMODE" 0)
  3. (SETQ AHSCALE (GETVAR "DIMSCALE"))
  4. (SETQ AHDSTYLE (GETVAR "DIMSTYLE"))
  5. (command "-layer" "set" "PS_DIM" "")
  6. (command "-dimstyle" "restore" "PDC_PROSTEEL")
  7. (command "dimscale" AHSCALE)
  8. (SETQ AHPT1 (GETPOINT "\nPick Leader Insertion Points... "))
  9. (SETQ AHPT2 (GETPOINT AHPT1))
  10. (COMMAND "QLEADER" AHPT1 AHPT2 NIL)
  11. (SETQ FIRSTLEADER (SSGET "L"))
  12. (SETVAR "ORTHOMODE" 1)
  13. (SETQ AHPT3 (GETPOINT AHPT2 "\nSpecify Note Orientation... "))
  14. (SETQ AHQTY (GETINT "\nEnter Quantity of Holes : "))
  15. (SETQ AHdia (getstring "\nEnter Diameter of Holes (Include slot length if applicable) : " XX))
  16.    (INITGET "H S h s")
  17.        (setq ahht (cond ( (getkword "\nChoose hole type [Hole/Slot]: ") ) ( "H" )))               
  18.    (COND
  19.        ((EQ ahht "H")
  20.        (SETQ AHHQ (if (> AHQTY 1) " HOLES" " HOLE")))
  21.        ((EQ ahht "S")
  22.         (INITGET "C O N c o n")
  23.            (setq ahST (cond ( (GETKWORD "\nSlot measurement < Center-Center / OverAll / Neither >:  ")) ( "N" )))
  24.         (COND
  25.            ((EQ ahST "C")
  26.            (SETQ AHHQ (if (> AHQTY 1) " C/C SLOTS" " C/C SLOT")))
  27.            ((EQ ahST "O")
  28.            (SETQ AHHQ (if (> AHQTY 1) " O/A SLOTS" " O/A SLOT")))
  29.            ((EQ ahST "N")
  30.            (SETQ AHHQ (if (> AHQTY 1) " SLOTS" " SLOT"))))
  31.        ))
  32. (setq ahnote (strcat (ITOA AHQTY)"-%%C"AHdia AHHQ))
  33. (SETQ AHANG (RTD (ANGLE AHPT2 AHPT3)))
  34. [b]  (IF (= 0 AHANG) (COMMAND "INSERT" "holenote_M" AHPT2 AHSCALE "" "" ahnote "" "" "" "" ""))
  35. (IF (= 180 AHANG) (COMMAND "INSERT" "holenoteO_M" AHPT2 AHSCALE "" "" ahnote "" "" "" "" ""))[/b]
  36. (SETQ AHPT1 (POLAR AHPT1 (ANGLE AHPT1 AHPT2) (/ (ATOI AHdia) 2)))
  37. (COMMAND "QLEADER" AHPT1 AHPT2 NIL)
  38. (COMMAND "ERASE" FIRSTLEADER "")
  39. (command "-dimstyle" "restore" "MW_STD" "dimscale" AHSCALE)
  40. (princ)
  41. )

 
非常感谢您的帮助。
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-5 23:24:27 | 显示全部楼层
看起来你的区块有属性;如果可能与属性输入对话框有关,则可能会被ATTREQ系统变量抑制。
回复

使用道具 举报

77

主题

298

帖子

232

银币

后起之秀

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

铜币
394
发表于 2022-7-5 23:30:48 | 显示全部楼层
嗨Mircea,
 
谢谢你的回复。
 
块确实有属性,但显示的不是“输入属性”对话框(由ATTREQ和ATTDIA控制)。当ATTREQ设置为1,ATTDIA设置为0时,例程的行为与我的机器上的预期一样,但在另一台计算机上使用相同的系统变量设置时,我们会收到“插入”对话框的提示。
 
我认为可能是FILEDIA或CMDDIA sysvars,但它们在两台机器上设置相同,并且不会影响例程。
 
再次感谢。
回复

使用道具 举报

77

主题

298

帖子

232

银币

后起之秀

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

铜币
394
发表于 2022-7-5 23:37:58 | 显示全部楼层
嗨,塔瓦,
 
也谢谢你的回复。我很确定ATTREQ和ATTDIA Sysvar不是本案的罪魁祸首。我们在两台机器上都将两个系统变量设置为相同的值,并且该例程产生不同的结果。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 23:43:45 | 显示全部楼层
 
很抱歉,在看到你的回复后,我不得不删除我之前迟来的回复。
 
尝试在insert命令调用之前添加以下函数。
 
  1. (initcommandversion 1)
回复

使用道具 举报

77

主题

298

帖子

232

银币

后起之秀

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

铜币
394
发表于 2022-7-5 23:46:30 | 显示全部楼层
嘿Tharwat,
 
不用担心发帖时间,我只是觉得我们可能已经在同一时间回复了。
 
我当然会尝试(initcommandversion 1)设置。
 
你知道是什么导致了这两台机器之间的差异吗?为什么一台机器需要(initcommandversion 1)设置,而另一台不需要?
 
再次感谢。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 23:54:26 | 显示全部楼层
 
不是很确定,但我认为随着每个新版本的发布,现有命令调用的行为可能会发生变化,因此当在Lisp例程中使用命令时,它们的行为可能与以前的版本不同。
 
试着习惯于本地化变量,以避免lisp例程中的任何奇怪行为,这些行为可能会让你困惑这么长时间。
回复

使用道具 举报

77

主题

298

帖子

232

银币

后起之秀

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

铜币
394
发表于 2022-7-6 00:01:19 | 显示全部楼层
他们只是确保我们清醒,哈哈。
 
两台机器运行的是同一版本,安装应该几乎相同。我刚刚问了我的同事,在今天之前这个程序是否正常工作,他说今天早上它工作得很好。我认为可能在他不知情的情况下发生了环境变化。
 
Ps,这不是我第一次这样做,但我不记得上次我是如何克服这个问题的。
回复

使用道具 举报

15

主题

243

帖子

228

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-6 00:06:04 | 显示全部楼层
你正在使用
  1. (command "insert" ...)


  1. (command "-insert" ...)

应该是第二个!
回复

使用道具 举报

77

主题

298

帖子

232

银币

后起之秀

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

铜币
394
发表于 2022-7-6 00:11:59 | 显示全部楼层
嗨,Bhull1985,
 
谢谢你的回复。使用“-INSERT”可以解决这个问题。但我真的只是想找出为什么“INSERT”在我的机器上可以正常工作,但在我的同事身上却不行。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 00:30 , Processed in 0.358786 second(s), 72 queries .

© 2020-2025 乐筑天下

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