乐筑天下

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

[编程交流] 救命啊!编写代码(AUTOLISP)

[复制链接]

1

主题

1

帖子

0

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 18:20:55 | 显示全部楼层 |阅读模式
大家好,我是autolisp中的noob,我需要帮助将代码放在一起,我假设使用已经生成的代码并合并IFAND语句生成旋转角度。代码只需要按顺序排列,但我无法将其拼凑在一起。如果有人能帮我,那太好了,我将不胜感激。提前谢谢你。
 
 
IFAND代码-
 
 
; 程序的这一部分设置了15 x 10的限制
(Defun c:IFAND()
(提示“\n请输入矩形的尺寸,不要超过15 X 10”)
(Setq num1(getreal“\n输入1到15之间的矩形宽度:”)
(如果(
(setq p1 num1)
)
(setq num2(getreal“\n输入1到10之间矩形的高度1:”)
(如果(
(setq p2 num2)
)
(如果(和(
(命令“矩形”p1 p2)
(提示“对不起!输入错误,请重试”)
)
)
 
 
 
旋转矩形-
 
;这将从中心点以指定的角度和距离绘制一个圆
; 然后以用户指定的次数围绕中心点排列该圆
 
(定义c:BC()
 
(setvar“cmdecho”0)
(命令“osmode”0)
(图表)
 
 
 
(setq CR1(getpoint“\n拾取单位圆的中心:”)
 
(setq Dia1(getdist“\n螺栓单位圆直径:”)
(setq L1(/拨号2));这将刻度盘更改为“半径”,以在距中心的给定距离处绘制一条线
 
(setq A1(getangle“\n输入角度:”))
 
(setq BH1(getreal“\n输入螺栓孔的直径:”)
(setq BH2(/BH1 2))
 
(setq A2(极性CR1 A1 L1));线路第二点
 
 
(命令行“CR1 A2”)
(命令“Circle”CR1“D”Dia1)
 
 
(命令“Circle”A2 BH2)
 
(命令“Array”“Last”“”“Polar”CR1“6”“360”“No”)
 
 
(普林斯)
 
)
 
 
这是说明
 
192058mh5hjo3yoburehm7.png
回复

使用道具 举报

8

主题

1647

帖子

1647

银币

初来乍到

Rank: 1

铜币
36
发表于 2022-7-5 19:20:06 | 显示全部楼层
如果你在论坛的正确区域发帖,你会得到更多帮助。我已将您的线程移动到Autolisp部分:http://www.cadtutor.net/forum/forumdisplay.php?21-AutoLISP Visual LISP amp DCL
 
此外,请阅读代码发布指南:http://www.cadtutor.net/forum/showthread.php?9184-代码发布指南
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 19:45:25 | 显示全部楼层
看看我的帖子http://www.cadtutor.net/forum/showthread.php?94680-AutoLisp循环函数重新定义变量
 
Ps我的版本
 
  1. ; draw pits with 100mm walls aligned to line
  2. ; By Alan H 2011
  3. (setq oldsnap (getvar "osmode"))
  4. (setq oldlayer (getvar "clayer"))
  5. (command "_layer" "n" "Design-Drainage-Pits" "c" 4 "Design-Drainage-Pits" "")
  6. (setvar "clayer" "Design-Drainage-Pits")
  7. (if (not AH:getval) (load "getval"))
  8. (ah:getval "Please enter PitL m eg 0.9: " "     edit_width = 8;" "     edit_limit = 6;")
  9. (setq pitl (Atof item))
  10. (ah:getval "Please enter PitW eg 0.6: " "     edit_width = 8;" "     edit_limit = 6;")
  11. (setq pitw (Atof item))
  12. (setq pt1 (getpoint "\npick 1st point to place pit : "))
  13. (setq pt2 (getpoint "\nPick 2nd point for orientation"))
  14. (setvar "osmode" 0)
  15. (setq pt7 (getpoint "\Pick pt on pit side : "))
  16. (setq ang (angle pt1 pt2))
  17. (setq ang5 (angle pt2 pt7))
  18. (setq diffang (- ang ang5))
  19. (if (> diffang 1.5707)
  20. (setq ang2 (- ang 1.570796))
  21. (setq ang2 (+ ang 1.570796))
  22. )
  23. (setq ang3 (+ ang 3.1415926))
  24. (setq ang4 (- ang 1.570796))
  25. (setq pt3 (polar pt1 ang PitL))
  26. (setq pt4 (polar pt3 ang2 PitW))
  27. (setq pt5 (polar pt4 ang3 PitL))
  28. (command "pline" pt1 pt3 pt4 pt5 "c")
  29. (setq pt6 (polar pt1 ang 50.0))
  30. (command "offset" 0.1 pt4 pt6 "")
  31. (setvar "osmode" oldsnap)
  32. (setvar "clayer" oldlayer)
  33. (princ)

 
  1. ;; Input  Dialog box with variable title
  2. ;; By Ah June 2012
  3. ;; code (ah:getval title)
  4. (defun AH:getval (title width limit / fo)
  5. (setq fname "C://acadtemp//getval.dcl")
  6. (setq fo (open fname "w"))
  7. (write-line "ddgetval : dialog {" fo)
  8. (write-line " : row {" fo)
  9. (write-line ": edit_box {" fo)
  10. (write-line (strcat "    key = "  (chr 34) "key1" (chr 34) ";") fo)
  11. (write-line  (strcat " label = "  (chr 34) title (chr 34) ";"  )   fo)
  12. ; these can be replaced with shorter value etc
  13. ;(write-line "     edit_width = 18;" fo)
  14. ;(write-line "     edit_limit = 15;" fo)
  15. (write-line width fo)
  16. (write-line limit fo)
  17. (write-line "   is_enabled = true;" fo)        
  18. (write-line "    }" fo)
  19. (write-line "  }" fo)
  20. (write-line "ok_only;}" fo)
  21. (close fo)
  22. (setq dcl_id (load_dialog  "c:\\acadtemp\\getval"))
  23. (if (not (new_dialog "ddgetval" dcl_id))
  24. (exit))
  25. (action_tile "key1" "(setq item $value)(done_dialog)")
  26. (mode_tile "key1" 2)
  27. (start_dialog)
  28. ; returns the value of item
  29. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 19:39 , Processed in 0.980080 second(s), 61 queries .

© 2020-2025 乐筑天下

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