乐筑天下

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

[编程交流] 将对象复制到线条中间

[复制链接]

1

主题

1

帖子

0

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 15:48:02 | 显示全部楼层 |阅读模式
大家好!
我的程序有问题。它运行不稳定。
我希望每个人都能帮助我
 
  1. (defun mid (p1 p2)
  2. (list
  3.    (/ (+ (car p1) (car p2)) 2.0)
  4.    (/ (+ (cadr p1) (cadr p2)) 2.0)
  5. )
  6. )
  7. ;______________________________________
  8. (defun c:test ( / ob1 ob2 d0 i j )
  9. (setq ob0 (ssget))
  10. (setq d0 (getpoint))
  11. (setq ob1 (ssget "_:L" '((0 . "LINE"))))
  12. ;(setq i (- (sslength ob1) 1))
  13. (repeat (setq i (sslength ob1))
  14. (setq j i)
  15. (setq d1 (cdr (assoc 10 (entget (ssname ob1 (setq i (1- i)))))))
  16. (setq d2 (cdr (assoc 11 (entget (ssname ob1 (setq j (1- j)))))))
  17. (setq mi (mid d1 d2))
  18. (command ".copy" ob0 "" "m" d0 mi "")
  19. )
  20. (princ)
  21. )
回复

使用道具 举报

18

主题

1529

帖子

973

银币

中流砥柱

Rank: 25

铜币
649
发表于 2022-7-5 16:40:14 | 显示全部楼层
请阅读以下内容:
http://www.cadtutor.net/forum/showthread.php?9184-代码发布指南
 
关于您的问题:
您的问题很可能是由“运行Osnap”设置(OSMODE)引起的。使用命令调用时,此设置可能会影响Lisp程序的结果。
请参阅此处以获取可能的解决方案(“_non”):
http://www.cadtutor.net/forum/showthread.php?102187-Getpoint-does-t-allow-osnap&p=693767&viewfull=1#post693767
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 17:12:38 | 显示全部楼层
你也说过你想要pline,所以如果你的pline超过2分,p1 p2可能不会给出正确的mid。我将使用Vla getpointatdist take length/2.0,这将给出一条线的中点和普林线。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 13:06 , Processed in 0.840645 second(s), 58 queries .

© 2020-2025 乐筑天下

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