277283904 发表于 2024-1-2 17:44:01

你有种再说一遍 发表于 2024-1-2 17:22
遍历偏移咯

怎么编,菜鸟一个{:1_1:}

你有种再说一遍 发表于 2024-1-2 17:49:23

277283904 发表于 2024-1-2 17:44
怎么编,菜鸟一个

B站一下李小科,然后学学,大概一个月之后你就会了

飞雪神光 发表于 2024-1-2 17:49:25

277283904 发表于 2024-1-2 17:41
就是下面的白线的偏移,不要标注,标注只是给大家看的

用上面网址里的改一下就是了(defun c:tt3 (/ dis1 dis2 en n pt)
        (setvar "cmdecho" 0)
        (setq
                en (entsel "\n选择需要偏移的对象:")
                dis1 (getreal "\n偏移距离1:")
                dis2 (getreal "\n偏移距离2:")
                pt (getpoint "\n指定偏移方向一点:")
        )
        (command "offset" dis1 en pt "")
        (command "offset" (+ dis1 dis2) en pt "");此处可以和上面的对比
        (princ)
)

277283904 发表于 2024-1-2 18:23:46

你有种再说一遍 发表于 2024-1-2 17:49
B站一下李小科,然后学学,大概一个月之后你就会了

感谢!有空去看看

277283904 发表于 2024-1-2 18:25:18

本帖最后由 277283904 于 2024-1-2 18:26 编辑

飞雪神光 发表于 2024-1-2 17:49
用上面网址里的改一下就是了
感谢,就是我要的效果,那要一次性偏移4个距离呢,怎么写

277283904 发表于 2024-1-2 18:32:38

你有种再说一遍 发表于 2024-1-2 17:49
B站一下李小科,然后学学,大概一个月之后你就会了

搜了没有呢

xyp1964 发表于 2024-1-2 18:48:44





(defun c:tt ()
(setq lst '(-15 -30 20 60 100)) ;批量偏移距离表
(while (setq s1 (car (entsel "\n选择需要偏移的对象: ")))
    (setq ob (vlax-ename->vla-object s1))
    (mapcar '(lambda (x) (vla-offset ob x)) lst)
)
(princ)
)


hhh454 发表于 2024-1-2 18:55:55

277283904 发表于 2024-1-2 17:17
他是固定距离,不是我想要的,谢谢!
里面是源码,数值自己改就行
(foreach n '(50 100 300 600)

你有种再说一遍 发表于 2024-1-2 19:01:28

277283904 发表于 2024-1-2 18:32
搜了没有呢

cad二次开发

飞雪神光 发表于 2024-1-2 19:45:42

277283904 发表于 2024-1-2 18:25
感谢,就是我要的效果,那要一次性偏移4个距离呢,怎么写

那就按那个foreach源码改 大于三个输入就可以用dcl了 或者用逗号分隔你这个需求像是贱人的有一个 批量偏移的功能
页: 1 [2] 3
查看完整版本: 怎么一次性偏移两个尺寸出来呢