怎么一次性偏移两个尺寸出来呢
怎么一次性偏移两个尺寸出来呢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-3 08:37
感谢版主,这是固定距离了,要修改距离的话要到代码里修改吗?
(defun c:tt ()
(defun xyp-StrSpr (str sub / lst n)
(if (/= sub "")
(progn
(while (setq n (vl-string-search sub str))
(setq lst (cons (substr str 1 n) lst)
str (substr str (+ n (strlen sub) 1))
)
)
(vl-remove "" (reverse (cons str lst)))
)
)
)
(princ "\n输入多重距离以分号分开(正负值偏移方向不同)")
(or dd (setq dd "-15;-30;20;60;100"))
(setq dd (Ustr -1 "距离表" dd nil))
(setq lst (xyp-StrSpr dd ";")
lst (vl-remove-if-not 'distof lst)
lst (mapcar 'distof lst)
)
(while (setq s1 (car (entsel "\n选择需要偏移的对象: ")))
(setq ob (vlax-ename->vla-object s1))
(mapcar '(lambda (x) (vla-offset ob x)) lst)
)
(princ)
)
简单的输入两个偏移距离,如果还有其他要求再说 这个里面有多重偏移的代码
foreach的故事
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=182258&fromuid=363233
(出处: 明经CAD社区)
hhh454 发表于 2024-1-2 17:01
这个里面有多重偏移的代码
foreach的故事
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=182258&fro ...
他是固定距离,不是我想要的,谢谢! 帝都划水王 发表于 2024-1-2 16:55
简单的输入两个偏移距离,如果还有其他要求再说
可以一次性输入两个距离然后偏移两个距离吗,怎么操作呢,谢谢! 飞雪神光 发表于 2024-1-2 16:37
问题不够具体
就是一次性输入两个距离,然后偏移这两个距离啊 遍历偏移咯 本帖最后由 飞雪神光 于 2024-1-2 17:35 编辑
277283904 发表于 2024-1-2 17:20
就是一次性输入两个距离,然后偏移这两个距离啊
那这不应该叫 偏移啊 这叫输入两个距离 生成标注 且还需要指定点和标注距离 下边的三根白线真有误导性 飞雪神光 发表于 2024-1-2 17:34
那这不应该叫 偏移啊 这叫输入两个距离 生成标注 且还需要指定点和标注距离 下边的三根白线真有误导性
就是下面的白线的偏移,不要标注,标注只是给大家看的