乐筑天下

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

[编程交流] 插入前部。。

[复制链接]

20

主题

338

帖子

323

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 11:28:38 | 显示全部楼层
我已经转发了你的代码,建议做一些小改动。
 
  1. (defun c:front2 ()
  2. ;Start of Save Settings
  3. (setq oldsnap (getvar "osmode"))
  4. (setq oldblipmode (getvar "blipmode"))
  5. ;end of Save Settings
  6. ;Start of Get User Input
  7. (setq s (getreal "\nOffset of your front from outside cabinet: "))
  8. (setq d (getreal "\nThickness of the Front: "))
  9. (setq h (getreal "\nHeight of the Front: "))
  10. (setq b (getreal "\nWidth of the Front: "))
  11. (setq ip (getpoint "\nInsertion Point: "))
  12. ;End of Get User Input
  13. (setvar "osmode" 0);Turn off snaps
  14. (setvar "cmdecho" 1); For debugging purposes???
  15. ;Start of Polar Calculations
  16. (setq p2 ip) ;ip = p2
  17. (setq p3 (polar ip 0 b)) ; From p2 to p3 = Width of the Front
  18. (setq p4 (polar p3 (* 1.5 pi) d)) ; From p3 to p4 = Thickness of the Front
  19. (setq p5 (list (car p2) (cadr p2) (+ (caddr p2) h))) ; p5 = x & y of p2 and z of p2 + Height of the Front
  20. (setq p6 (list (car p5) (cadr p5) (- (caddr p5) 160))) ; p6 = x & y of p5 and z of p5 - 160 units
  21. (setq r1 (list (car p2) (cadr p2) (+ (caddr p2) s))) ; r1 = x & y of p2 and z of p2 + Offset of your front from outside cabinet
  22. (setq p7 (polar p2 0 s)); From p2 to p7 = Offset of your front from outside cabinet
  23. (setq p8 (list (car p7) (cadr p7) (+ (caddr p7) s))); p8 = x & y of p7 and z of p7 + Offset of your front from outside cabinet
  24. (setq p9 (polar r1 0 b));From r1 to p9 = Width of the Front
  25. (setq p10 (polar p9 pi s)) ;From p9 to p10 = Offset of your front from outside cabinet
  26. (setq p11 (list (car p7) (cadr p7) (+ (caddr p7) h))); p11 = x & y of p7 and z of p7 + Height of the Front
  27. (setq p12 (list (car p11) (cadr p11) (- (caddr p11) s))); p12 = x & y of p11 and z of p11 - Offset of your front from outside cabinet
  28. (setq p13 (polar p10 (* 1.5 pi) d)) ;From p10 to p13 = Thickness of the Front
  29. ;End of Polar Caclulations
  30. (command "ucs" "w") ;Make sure that the ucs is in world???
  31. ;This should maybe be before the Get User Inputs???
  32. (command "box" p8 p13 p12)
  33. ;Create a 3d Solid using p8, p13 & p12
  34. (command "-Insert" "listscharnier" "_non" ip "" "" "0")
  35. (command "-Insert" "listscharnier" "_non" p6 "" "" "0")
  36. ;Insert the block at the ip (p2) & p6
  37. ;Start Reset Old Settings
  38. (setvar "osmode" oldsnap)
  39. (setvar "blipmode" oldblipmode)
  40. ;End Reset old Settings
  41. (princ "\nDone!") ;Let User Know Command is finished
  42. (princ) ; Finish Clean
  43. )
回复

使用道具 举报

10

主题

56

帖子

46

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-6 11:31:48 | 显示全部楼层
请参阅我的附件。在创建文件中的文件柜后,我想添加我的正面。我想给出橱柜的偏移量,然后是橱柜的高度和宽度。然后我想通过单击放置球体的位置来插入正面。但是它不起作用;)
 
尊敬的先生
1.dwg
回复

使用道具 举报

20

主题

338

帖子

323

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 11:33:49 | 显示全部楼层
今天早上我有机会看了你的图纸。我相信你的错误来自极坐标计算。以下是我所做的更改。尝试在代码中替换以下内容。
 
  1. ;Start Polar Computations
  2. (setq p2 (polar ip 0 s))
  3. (setq p3 (list (car p2) (cadr p2) (+ (caddr p2) s)))
  4. (setq p4 (polar p3 (* 1.5 pi) d))
  5. (setq p5 (polar p4 0 b))
  6. (setq p6 (list (car p5) (cadr p5) (+ (caddr p5) h)))
  7. (setq p7 (list (car ip) (cadr ip) (+ (- h 160) (caddr ip))))
  8. ;End Polar Computations
  9. :Draw Box Using Points p3, p5 & p6
  10. (command "box" p3 p5 p6)
  11. ;End Draw Box
  12. ;Insert Hinges Using Point ip & p7
  13. (command "-insert" "listscharnier" "_non" ip "" "" "0"
  14.    "-insert" "listscharnier" "_non" p7 "" "" "0"
  15. )
  16. ;End Insert Hinges

 
P、 dtr功能不是必需的。。。
回复

使用道具 举报

10

主题

56

帖子

46

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-6 11:38:01 | 显示全部楼层
嗯,我可以用我的铰链创建正面,但仍然不能单击橱柜角落的ip。
如果我点击橱柜的角落,这个Lisp程序就不行了。
 
您是否尝试创建它并单击橱柜的角落>?
 
尊敬的先生
回复

使用道具 举报

20

主题

338

帖子

323

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 11:40:26 | 显示全部楼层
好什么不适合你?随着我所做的更改,一切都很好(对INSUNIT进行了一些调整)。
我输入偏移距离、厚度、高度,然后是宽度。然后我点击你放置球体的角落,所有的东西都落在了正确的位置,铰链和盒子。我很乐意帮助你,但我需要确切地知道什么不适合你。
回复

使用道具 举报

20

主题

338

帖子

323

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 11:44:46 | 显示全部楼层
先生,
 
我添加了搜索块名称的代码,如果没有加载,则会提示用户查找文件。我希望这对你有用。。。(它对我有效)让我知道进展如何。
 
你好,希佩013
 
  1. (defun c:front ()
  2. ;Begin Save Settings
  3. (setq oldsnap (getvar "osmode"))
  4. (setq oldblipmode (getvar "blipmode"))
  5. ;End Save Settings
  6. ;Begin Set Settings
  7. (setvar "osmode" 0)
  8. (setvar "blipmode" 0)
  9. (command "ucs" "world")
  10. ;End Set Settings
  11. ;Begin User Input
  12. (setq s (getdist "\Offset of the front:"))=
  13. (setq d (getdist "\nThickness of the front : "))
  14. (setq h (getdist "\nHight of the front : "))
  15. (setq b (getdist "\nWidth of the front : "))
  16. (setvar "osmode" 32)
  17. (setq ip (getpoint "\nInsertion Point : "))
  18. ;End User Input
  19. ;Begin Set Settings
  20. (setvar "osmode" 0)
  21. (setvar "cmdecho" 1)
  22. ;End Set Settings
  23. ;Begin Polar Computations
  24. (setq p2 (polar ip 0 s))
  25. (setq p3 (list (car p2) (cadr p2) (+ (caddr p2) s)))
  26. (setq p4 (polar p3 (* 1.5 pi) d))
  27. (setq p5 (polar p4 0 b))
  28. (setq p6 (list (car p5) (cadr p5) (+ (caddr p5) h)))
  29. (setq p7 (list (car ip) (cadr ip) (+ (- h 160) (caddr ip))))
  30. ;End Polar Computations
  31. ;Begin Draw Box
  32. (command "box" p3 p5 p6)
  33. ;End Draw Box
  34. ;Begin Define blk-is-loaded
  35. (defun blk_is_loaded (blk-name / blks cnt n I-Name ret )
  36. (vl-load-com)
  37. (setq blks (vlax-get-property (vlax-get-property (vlax-get-acad-object) 'ActiveDocument) 'Blocks))
  38. (setq cnt (vlax-get-property blks 'Count))
  39. (setq n 0)
  40. (repeat cnt
  41.    (setq I-Name (vlax-get-property (vlax-invoke-method blks 'Item n) 'Name))
  42.    (if (= blk-name I-Name)
  43. (setq ret T)
  44.      (progn
  45. (setq n (+ n 1))
  46. (setq ret nil))
  47.      )
  48.    )(vlax-release-object blks)
  49. ret
  50. )
  51. ;End Define blk-is-loaded
  52. ;Begin Determine if block is loaded
  53. ;***If block is not found user is directed to find the file else block is inserted***
  54. ;NOTE: No error trapping
  55. (if (not (blk_is_loaded "listscharnier"))
  56.    (progn
  57.      (setq blk-f (getfiled "Find listscharnier Block" "" "dwg" 0))
  58.      (if (= blk-f nil)
  59. (progn (princ "\nUser has Cancelled: Exiting.")
  60.   (exit)))
  61.      (command "-Insert" blk-f "_non" ip "" "" "0")
  62.      (command "-Insert" blk-f "_non" p7 "" "" "0")
  63.      )
  64.    (command "-Insert" "listscharnier" "_non" ip "" "" "0"
  65.      "-Insert" "listscharnier" "_non" p7 "" "" "0")
  66.    )
  67. ;End Determine if block is loaded
  68. ;Begin Reset Old Settings
  69. (setvar "osmode" oldsnap)
  70. (setvar "blipmode" oldblipmode)
  71. ;End Reset Old Settings
  72. [color="Red"](princ (strcat "\nDimensions Entered for Front: \nOffset = " (rtos s 2 2) "\nThickness = " (rtos d 2 2) "\nHeight = " (rtos h 2 2)
  73.       "\nWidth = " (rtos b 2 2) ) )[/color]
  74. (princ)
  75. )
回复

使用道具 举报

20

主题

338

帖子

323

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 11:48:35 | 显示全部楼层
我发现的另一个问题是,你需要打开你的沙尼尔。dwg并将块“listscharnier”从插入点移动到0,0,然后在scharnier中将INSUNITS设置为4。然后保存dwg,然后您需要确保您的图形单位也设置为4。到时候一切都会好起来的。
回复

使用道具 举报

10

主题

56

帖子

46

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-6 11:50:45 | 显示全部楼层
嘿谢谢你打赌能完成这件事,我接管了你的代码,结果前端保持低位。。。。我不知道是什么。我附上一张图片。
115509xoqtccjjjvnwcwtv.jpg
回复

使用道具 举报

20

主题

338

帖子

323

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 11:54:49 | 显示全部楼层
你是说盒子画得不对吗?您为偏移、厚度、高度和宽度输入的尺寸是多少?我已经编辑了上述代码(红色)以打印到屏幕上输入的尺寸。
回复

使用道具 举报

10

主题

56

帖子

46

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-6 11:57:22 | 显示全部楼层
正确,我将接管您更改的完整代码。
现在,在加载lisp kast后,我将包括作为附件,我将使用lisp kast绘制文件柜。试着画出来。。在我画完这个柜子之后,我会把我的正面插在这个柜子上。我使用偏移量3,对于高,我单击橱柜的上角和下角,对于宽,我单击左下角和右下角,然后单击左下角的插入点。。。
我真的不知道为什么它把战线拉得那么低。。。。
 
尊敬的先生
卡斯特。LSP
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 12:21 , Processed in 0.738564 second(s), 72 queries .

© 2020-2025 乐筑天下

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