乐筑天下

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

[编程交流] 有obje的lisp例程

[复制链接]

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:25:53 | 显示全部楼层
无聊Lisp程序总是很有趣
 
回复

使用道具 举报

20

主题

338

帖子

323

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 11:28:02 | 显示全部楼层
李·麦克:
 
你能上传你的代码吗?
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:33:18 | 显示全部楼层
我想我以前在什么地方贴过:
 
  1. (defun c:bored ( / cir cnt gr lst n d )
  2. ;; © Lee Mac 2010
  3. (setq lst (list (getvar 'viewctr) (getvar 'viewctr)) cnt 0)
  4. (while (eq 5 (car (setq gr (grread nil 13 0))))
  5.    (redraw)
  6.    (setq cir nil n 0 lst (append lst (list (last lst) (cadr gr)))
  7.          cnt (1+ cnt))
  8.    
  9.    (if (< 100 cnt) (setq lst (cddr lst)))
  10.    
  11.    (repeat 50
  12.      (setq d (/ (distance (car lst) (last lst)) 4.))
  13.      (repeat 4
  14.        (setq cir (cons (polar (car lst) (* (setq n (1+ n)) (/ (* pi 2) 50)) d) cir))
  15.        (setq d (/ d 2.))
  16.      )
  17.    )
  18.    (grvecs (append (list (rem (/ cnt 100) 255)) lst cir))
  19. )
  20. (redraw)
  21. (princ)
  22. )
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 11:35:44 | 显示全部楼层
 
当然,它们很简单。我添加了第二个选项,可以旋转和移动选择集。
 
  1. (defun c:Test (/ obj block gr)
  2. ;; Alan J. Thompson, 06.22.10
  3. (if
  4.    (and
  5.      ;;(setq obj (AT:Entsel nil "\nSelect block: " '("LV" (0 . "INSERT")) nil))
  6.      (setq obj (car (entsel "\nSelect block: ")))
  7.      (eq "INSERT" (cdr (assoc 0 (entget obj))))
  8.      ;;(setq block (vla-copy obj))
  9.      (not
  10.        (vl-catch-all-error-p
  11.          (setq block (vl-catch-all-apply
  12.                        (function vla-copy)
  13.                        (list (vlax-ename->vla-object obj))
  14.                      )
  15.          )
  16.        )
  17.      )
  18.    )
  19.     (while (and (eq 5 (car (setq gr (grread T 15 2)))) (vl-consp (cadr gr)))
  20.       (vla-put-insertionpoint block (vlax-3d-point (trans (cadr gr) 1 0)))
  21.       (vla-put-rotation block (+ (vla-get-rotation block) 0.02))
  22.     )
  23. )
  24. (princ)
  25. )
  26. (defun c:Test2 (/ ss lst)
  27. ;; Alan J. Thompson, 06.22.10
  28. (if (setq ss (AT:SS->List (ssget "_:L") T))
  29.    (while (and (eq 5 (car (setq gr (grread T 15 2)))) (vl-consp (cadr gr)))
  30.      (if (> (length (setq lst (cons (vlax-3d-point (trans (cadr gr) 1 0)) lst))) 1)
  31.        (foreach x ss
  32.          (vla-move x (cadr lst) (car lst))
  33.          (vla-rotate x (car lst) 0.015)
  34.        )
  35.      )
  36.    )
  37. )
  38. (princ)
  39. )
  40. (defun AT:SS->List (SS VLA)
  41. ;; Convert selection set to list of ename or vla objects
  42. ;; SS - SSGET selection set
  43. ;; VLA - T for vla objects, nil for ename
  44. ;; Alan J. Thompson, 04.01.10
  45. (if (eq 'PICKSET (type SS))
  46.    ((lambda (i / l)
  47.       (while (setq e (ssname SS (setq i (1+ i))))
  48.         (cond (VLA (setq l (cons (vlax-ename->vla-object e) l)))
  49.               ((setq l (cons e l)))
  50.         )
  51.       )
  52.     )
  53.      -1
  54.    )
  55. )
  56. )
回复

使用道具 举报

20

主题

338

帖子

323

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 11:38:29 | 显示全部楼层
李·麦克和艾伦·JT:谢谢你发布代码。。。。有趣的东西!
 
给OP:像这样的怎么样?
 
  1. (defun c:spinbolt (/ obj rot rot+)
  2. (vl-load-com)
  3. (setq obj (vlax-ename->vla-object (car (entsel))))
  4. (setq rot (vla-get-rotation obj))
  5. (setq inspnt (vlax-safearray->list (vlax-variant-value (vlax-get-property obj 'InsertionPoint))))
  6. (setq x (nth 0 inspnt))
  7. (setq y (nth 1 inspnt))
  8. (setq z (nth 2 inspnt))
  9. (setq rot+ (/ (* 2 pi) 100))
  10. (setq rot- (- rot+ (* rot+ 2)))
  11. (setq drop (/ 0.3 100))
  12. (repeat 1000
  13.    (setq inspnt (vlax-safearray->list (vlax-variant-value (vlax-get-property obj 'InsertionPoint))))
  14.    (setq z (nth 2 inspnt))
  15.    (setq nz (- z drop))
  16.    (setq nins (vlax-3d-point (list x y nz)))
  17.    (vlax-put-property obj 'InsertionPoint nins)
  18.    (setq rot (+ rot- rot))
  19.    (vla-put-rotation obj rot)
  20.    (vla-update obj)
  21.    )
  22. (vlax-release-object obj)
  23. (princ)
  24. )

 
它与连接的dxf一起工作。。。(2000格式)250KB限制?不好的
螺栓。拉链
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 11:40:37 | 显示全部楼层
 
不客气,很酷。
回复

使用道具 举报

20

主题

338

帖子

323

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 11:44:14 | 显示全部楼层
欢迎您,谢谢!
 
(我刚刚注意到我现在是雅虎的正式会员!)
只要再发500万个帖子,我就会成为一个发光体!(只是开你玩笑,李)
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 11:48:46 | 显示全部楼层
 
去看看备注的“级别”。
回复

使用道具 举报

20

主题

338

帖子

323

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 11:50:02 | 显示全部楼层
 
哇!
回复

使用道具 举报

djw

2

主题

8

帖子

6

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 11:53:26 | 显示全部楼层
希普,谢谢!!这正是我试图做的,刚刚想出了一个办法,如何使它与我的管道修复工作再次感谢。。。。。。。。。。。。。。。。。。。。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 12:29 , Processed in 0.636117 second(s), 81 queries .

© 2020-2025 乐筑天下

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