明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1593|回复: 5

[讨论] offset到当前层程序一点问题

[复制链接]
发表于 2011-7-17 19:44:13 | 显示全部楼层 |阅读模式
代码如下,现在有个问题,offset能记住上一次的距离,但当上一次offset的距离小于1时,默认又变成1了,怎么把下面的代码改好呢??谢谢!!
;;offset到当前层程序
(defun c:ff1(/ dst ent)
  (setvar "cmdecho" 1)
  (if (null(setq dst (getdist(strcat "\n输入偏移距离<目前为"
    (rtos(getvar "OFFSETDIST")2 0)">:"))))
    (setq dst (getvar "OFFSETDIST")))
  (setq ent (entsel))  
  (while (vl-cmdf "_.offset" dst ent pause "")     
    (vl-cmdf "_.change" (entlast) "" "p" "la" (getvar "clayer") "")
    (setq ent(entsel))(if (null ent)(exit))
  )(princ)
)
发表于 2011-7-17 20:05:49 | 显示全部楼层

  1. ;;offset到当前层程序
  2. (defun c:ff1 (/ dst ent)
  3.   (setvar "cmdecho" 1)
  4.   (if (null
  5.         (setq dst (getdist (strcat "\n输入偏移距离<目前为"
  6.                                    (rtos (getvar "OFFSETDIST") 2 0)
  7.                                    ">:"
  8.                            )
  9.                   )
  10.         )
  11.       )
  12.     (setq dst (getvar "OFFSETDIST"))
  13.     (setvar "OFFSETDIST" DST)
  14.   )
  15.   (setq ent (entsel) KEY t)
  16.   (while KEY
  17.     (vl-cmdf "_.offset" dst ent pause "")
  18.     (vl-cmdf "_.change"
  19.              (entlast)
  20.              ""
  21.              "p"
  22.              "la"
  23.              (getvar "clayer")
  24.              ""
  25.     )
  26.     (setq ent (entsel))
  27.     (if        (null ent)
  28.       (setq key nil)
  29.     )
  30.   )
  31.   (princ)
  32. )
 楼主| 发表于 2011-11-10 14:29:56 | 显示全部楼层
非常感谢楼上的兄弟,
发表于 2011-11-10 18:19:26 | 显示全部楼层
OFFSET
当前设置: 删除源=否  图层=源  OFFSETGAPTYPE=0
指定偏移距离或 [通过(T)/删除(E)/图层(L)] <通过>:  e
要在偏移后删除源对象吗?[是(Y)/否(N)] <否>:  n
指定偏移距离或 [通过(T)/删除(E)/图层(L)] <通过>:  L
输入偏移对象的图层选项 [当前(C)/源(S)] <源>:  S
指定偏移距离或 [通过(T)/删除(E)/图层(L)] <通过>:

指定偏移距离或 [通过(T)/删除(E)/图层(L)] <通过>:  l

输入偏移对象的图层选项 [当前(C)/源(S)] <源>:  c

指定偏移距离或 [通过(T)/删除(E)/图层(L)] <通过>:

选择要偏移的对象,或 [退出(E)/放弃(U)] <退出>:  *取消*
发表于 2011-11-11 01:16:29 | 显示全部楼层
tony1435 发表于 2011-11-10 14:29
非常感谢楼上的兄弟,

难道解决了?

问题在(rtos (getvar "OFFSETDIST") 2 0)
0变3或更大
发表于 2012-9-18 11:49:22 | 显示全部楼层
好程序,收藏了,谢谢~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-8-28 00:23 , Processed in 0.190480 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表