明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3874|回复: 26

[基础] 绘制CENTER线型曲线后两边偏移

[复制链接]
发表于 2014-4-5 09:40 | 显示全部楼层 |阅读模式
绘制CENTER线型曲线后两边偏移有没有一步做到各位,最近搞了道路图,道路的中间的线是CENTER线型,先得画完这根线,再用偏移命令把这根线两边偏移,可不可以画完CENTER线型线了就两偏移了,不想再输入偏移命令了,


"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2014-4-5 15:47 | 显示全部楼层
本帖最后由 kwok 于 2014-4-15 20:39 编辑

简单的,自已可以按要求再深化,如偏到图层改色等...
  1. (defun c:tt (/ w pline )
  2. (vl-load-com)
  3.   (command ".undo" "be")
  4.   (setq w (getreal "\n 双偏宽度<1000.0>: "))
  5.       (if (null w) (setq w 1000))
  6. (vl-cmdf ".spline")
  7.   (while (= 1 (getvar "cmdactive"))
  8.     (vl-cmdf pause)
  9.   )
  10.   (setq pline (entlast))
  11.       (vla-Offset (vlax-ename->vla-object pline) (/ w 2.0))
  12.       (vla-Offset (vlax-ename->vla-object pline) (/ w -2.0))
  13. (command "chprop" pline ""  "lt" "center" "s" 200 "");;;中心线比例200,提示没有center手动加载一下,一般不用的.
  14.   (command ".undo" "e")
  15.   (princ)
  16. )

评分

参与人数 1明经币 +1 收起 理由
xyp1964 + 1 赞一个!

查看全部评分

 楼主| 发表于 2014-4-6 07:41 | 显示全部楼层
命令: ; 错误: no function definition: VLAX-ENAME->VLA-OBJECT
出现这个

点评

(vl-load-com) ; add  发表于 2014-4-6 09:42
 楼主| 发表于 2014-4-6 07:47 | 显示全部楼层
(defun c:tt (/ w spline )
  (command ".undo" "be")
  (setq w (getreal "\n 双偏宽度<1000.0>: "))
      (if (null w) (setq w 1000))
(vl-cmdf ".spline")
  (while (= 1 (getvar "cmdactive"))
    (vl-cmdf pause)
  )
  (setq spline (entlast))
      (vla-Offset (vlax-ename->vla-object pline) (/ w 2.0))
      (vla-Offset (vlax-ename->vla-object pline) (/ w -2.0))
  (command ".undo" "e")
  (princ)
)
 楼主| 发表于 2014-4-8 08:40 | 显示全部楼层
我为什么改为(defun c:tt (/ w spline )
就不行了呢

点评

只改这里就行(vl-cmdf ".spline"),其它都不用改.........要改其它就要全改,不要只改一处.  发表于 2014-4-8 10:30
 楼主| 发表于 2014-4-8 12:34 | 显示全部楼层
胡乱拼了一下不行,还得劳高人指点,我想画的那根SPLINE线是CENTER线型,双偏的两根线为CONTINUOUS线型,高人指点呀

(defun c:tt (/ w pline )
  (command ".undo" "be")
  (setq w (getreal "\n 双偏宽度<100.0>: "))
      (if (null w) (setq w 100))
(vl-cmdf ".spline" "lt" "CENTER")
  (while (= 1 (getvar))
    (vl-cmdf pause)
  )
  (setq pline (entlast))
      (vla-Offset (vlax-ename->vla-object pline) (/ w 2.0))
      (vla-Offset (vlax-ename->vla-object pline) (/ w -2.0))
("lt" "CENTER")
  (command ".undo" "e")
  (princ)
)
 楼主| 发表于 2014-4-9 07:09 | 显示全部楼层
昨天给依据kwok 先生的程序改了一下,程序用不了,高手有空给看看要在什么地方加些代码
 楼主| 发表于 2014-4-10 07:32 | 显示全部楼层
昨天在学院QQ群里看有有Q友贴出本贴主的要真实目的,对了,画道路线就这样,中间线是中心线,可是再看Q友时已经下线了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

复制2楼代码,已修改成中心线  发表于 2014-4-15 09:04
 楼主| 发表于 2014-4-10 22:29 | 显示全部楼层
不是吧。为什么没人顶铁哟。难道只有我一个人画道路嘛
 楼主| 发表于 2014-4-13 22:27 | 显示全部楼层
再顶一下,没高手看啦,沉了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-16 16:33 , Processed in 0.156055 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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