乐筑天下

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

[编程交流] 用相等的空间划分对象

[复制链接]

56

主题

256

帖子

230

银币

后起之秀

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

铜币
253
发表于 2022-7-5 16:28:34 | 显示全部楼层 |阅读模式
你好
 
像这样的节目,我到处都在找。
 
我想要实现的。
 
选择一条直线或曲线。
拾取对象(主要是正方形、矩形或圆形)
拾取距离或输入对象选定对象的宽度。
然后,程序在直线或曲线上分割对象,就像附加的图像一样。
 
这是一个我认为很接近的程序。它来自LeeMac,但不确定如何编辑它以满足上述需求。
 
  1. (defun c:test ( / _circle p1 p2 no di an sp i ucsz )
  2. (defun _circle ( center radius )
  3.    (entmakex (list (cons 0 "CIRCLE") (cons 10 center) (cons 40 radius) (cons 210 ucsz)))
  4. )
  5. (setq ucsz (trans '(0. 0. 1.) 1 0 t))
  6. (if
  7.    (and
  8.      (setq p1 (getpoint "\nSpecify First Point: "))
  9.      (setq p2 (getpoint "\nSpecify Second Point: " p1))
  10.      (progn
  11.        (initget 6)
  12.        (setq no (getint "\nSpecify Number of Circles: "))
  13.      )
  14.      (setq di (getdist "\nSpecify Diameter of Circles: "))
  15.    )
  16.    (progn
  17.      (setq p1 (trans p1 1 ucsz) p2 (trans p2 1 ucsz)
  18.            an (angle p1 p2)     di (/ di 2.)
  19.            p1 (polar p1 an di)  p2 (polar p2 an (- di))
  20.      )
  21.      (if (= 1 no)
  22.        (setq sp (/ (distance p1 p2) 2.) i 0)
  23.        (setq sp (/ (distance p1 p2) (1- no)) i -1)
  24.      )      
  25.      (repeat no (_circle (polar p1 an (* (setq i (1+ i)) sp)) di))
  26.    )
  27. )
  28. (princ)

 
提前谢谢。
172839b744ffguedds4a1w.jpg
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 16:38:37 | 显示全部楼层
这会让你离得更近。
回复

使用道具 举报

56

主题

256

帖子

230

银币

后起之秀

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

铜币
253
发表于 2022-7-5 16:44:34 | 显示全部楼层
谢谢我在搜索中发现了这一点。
 
什么都没有发生。
 
[列表=1]
  • 我选择了对象。
  • 拾取距离。
  • 未排列任何内容。
    [/列表]
     
    使用ACAD 2017。现在更新了我的信息。
  • 回复

    使用道具 举报

    46

    主题

    161

    帖子

    104

    银币

    后起之秀

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

    铜币
    242
    发表于 2022-7-5 16:51:18 | 显示全部楼层
    在这里你会发现我正在使用的工具
    回复

    使用道具 举报

    56

    主题

    256

    帖子

    230

    银币

    后起之秀

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

    铜币
    253
    发表于 2022-7-5 16:57:32 | 显示全部楼层
     
    谢谢我这辈子都没法用。您能告诉我您是如何达到我想要的间距的吗?
    回复

    使用道具 举报

    66

    主题

    1552

    帖子

    1514

    银币

    后起之秀

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

    铜币
    325
    发表于 2022-7-5 17:02:17 | 显示全部楼层
    关于:
    [列表]
  • ssget'((0。“圆,线”))
  • 找到线的名称,并构造圆列表
  • 调用intersectwith方法并构建点列表
  • 偏移直线,投影点列表
    [/列表]
    或者类似的。。
  • 回复

    使用道具 举报

    56

    主题

    256

    帖子

    230

    银币

    后起之秀

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

    铜币
    253
    发表于 2022-7-5 17:07:13 | 显示全部楼层
    我最希望的就是有这样的技能。虽然这不是我想要的。
    回复

    使用道具 举报

    114

    主题

    1万

    帖子

    1万

    银币

    中流砥柱

    Rank: 25

    铜币
    543
    发表于 2022-7-5 17:12:36 | 显示全部楼层
     
    请注意,所有要隔开的副本/对象都应该已经存在-然后程序将它们彼此等距放置。
    回复

    使用道具 举报

    56

    主题

    256

    帖子

    230

    银币

    后起之秀

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

    铜币
    253
    发表于 2022-7-5 17:18:53 | 显示全部楼层
     
    我明白了,傻我。请参阅随附的问题。这似乎是一个很好的解决方案。快速简单,只要间隔有点奇怪,一旦我选择了选择终点。
     
    如果这能像第一篇帖子那样将他们分开,那将节省大量时间。
    172840f9kxeoew7xtoqhgi.jpg
    172841wolxz6ootekovklw.jpg
    回复

    使用道具 举报

    66

    主题

    1552

    帖子

    1514

    银币

    后起之秀

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

    铜币
    325
    发表于 2022-7-5 17:28:31 | 显示全部楼层
     
    让我想起Alan JT的间隔动作。
    除此之外,我还记得一些例行公事,比如(defun C:spb…)但似乎找不到。我认为作者是。。你它实现了与Alan相同的grread结果。
    回复

    使用道具 举报

    发表回复

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

    本版积分规则

    • 微信公众平台

    • 扫描访问手机版

    • 点击图片下载手机App

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

    GMT+8, 2025-3-14 13:10 , Processed in 0.491877 second(s), 75 queries .

    © 2020-2025 乐筑天下

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