乐筑天下

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

[求助]请问高手,铁路线应该怎么画???

[复制链接]

1

主题

4

帖子

2

银币

初来乍到

Rank: 1

铜币
8
发表于 2004-3-13 14:13:00 | 显示全部楼层 |阅读模式
偶在画一个地图 不知铁路线该怎么画(一段黑、一段白的)
是不是有什么图库可以下载,直接应用呀?
还是要自己定义线型?
多谢拉!!
回复

使用道具 举报

33

主题

253

帖子

9

银币

后起之秀

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

铜币
385
发表于 2004-3-14 17:29:00 | 显示全部楼层
你能把你要画的样图发个么?
回复

使用道具 举报

23

主题

1134

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1226
发表于 2004-3-15 08:35:00 | 显示全部楼层
用多段线画,向两边偏移(成三条线),然后把中间的线改用虚线线型以及改变其线宽。
回复

使用道具 举报

1

主题

4

帖子

2

银币

初来乍到

Rank: 1

铜币
8
发表于 2004-3-15 20:06:00 | 显示全部楼层
是这样的

5jphbwuudmu.JPG

5jphbwuudmu.JPG

回复

使用道具 举报

33

主题

253

帖子

9

银币

后起之秀

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

铜币
385
发表于 2004-3-16 20:58:00 | 显示全部楼层
能给个电子版的么?
回复

使用道具 举报

33

主题

253

帖子

9

银币

后起之秀

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

铜币
385
发表于 2004-3-16 22:04:00 | 显示全部楼层
还有黑白的长度有什么规定么?
回复

使用道具 举报

6

主题

138

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
163
发表于 2004-3-16 23:09:00 | 显示全部楼层
这样行吗?

tunjuvtexag.JPG

tunjuvtexag.JPG

回复

使用道具 举报

1

主题

4

帖子

2

银币

初来乍到

Rank: 1

铜币
8
发表于 2004-3-17 22:48:00 | 显示全部楼层
怎么画的呀?
回复

使用道具 举报

33

主题

253

帖子

9

银币

后起之秀

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

铜币
385
发表于 2004-3-18 18:02:00 | 显示全部楼层
写了个程序给你,可以把样条曲线编辑成你例图中的效果
回复

使用道具 举报

33

主题

253

帖子

9

银币

后起之秀

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

铜币
385
发表于 2004-3-18 18:06:00 | 显示全部楼层
;把spline变成铁路线示图
;ljc 2004.3
(DEFUN O1O( name cd / cm tc os q zd qd ang qdz zdy w1 w2 w3 w4 p1p2 p3 p4 ) ;name--spline的图元名 cd铁路线的宽度
                                                                         (setq cm(getvar "cmdecho") tc(getvar "clayer") os(getvar "osmode"))
                                                                         (command "osnap" "off")
                                                                         (setq cd(/ cd 2))
                                                                         (setq q(entget name))
                                                                         (setq Zd (cdr(assoc 10 q)))
                                                                         (setq qd (cdr(LAST q)))
                                                                         (SETQ ANG (ANGLE QD ZD))
                                                                         (SETQ         qdz (polar qd (+ ANG ( / PI 2)) cd))
                                                                         (setq         qdy (polar qd (- ANG ( / PI 2)) cd))
                                                                         (command "offset"         cd name qdz         "")
                                                                         (setq w1(entlast))
                                                                         (setq p1 (cdr(assoc 10 (entget w1))))
                                                                         (setq p2 (cdr(last (entget w1))))
                                                                         (command "offset"         cd name qdy         "")
                                                                         (setq w2(entlast))                                                                 
                                                                         (setq p4 (cdr(assoc 10 (entget w2))))
                                                                         (setq p3 (cdr(last (entget w2))))
                                                                         (command "line" p1 p4 "")                         (setq w3(entlast))                                 
                                                                         (command "line" p2 p3 "")                         (setq w4(entlast))
                                                                         (command "-bhatch" "p" "solid" "s" w1 w2 w3 w4 "" "")
                                                                         (command "erase" w1 w2 w3 w4 name "")
                                                                         (setvar "cmdecho" cm)
                                                                         (setvar "osmode" os)
                                                                         (setvar "clayer"         tc)
)
(defun c:tl( / line n0 j linex q qd zd cdd ang qdz dqy)
                 (setq cm(getvar "cmdecho") tc(getvar "clayer") os(getvar "osmode"))
                 (command "osnap" "off")
                 (print "请选择铁路线:") (print)
                 (setq line (ssget '((0 . "SPLINE"))))
                 (setq ds(getint "请输黑白段长度:"))
                 (setq cd(getreal "请输入绘制铁路线的宽度:"))
                 (command "ucs" "" "")
                 (command "erase" (ssget "x" '((0 . "point"))) "")
                 (setq n0 (sslength line))
                 (setq j 0         n2 0)
         (repeat n0
                 (setq linex (ssname line j))         
                 (setq cdd(/ cd 2))
                 (setq q(entget linex))
                 (setq Zd (cdr(assoc 10 q)))
                 (setq qd (cdr(LAST q)))
                 (SETQ ANG (ANGLE QD ZD))
                 (SETQ         qdz (polar qd (+ ANG ( / PI 2)) (* 10 cd)))
                 (setq         qdy (polar qd (- ANG ( / PI 2)) (* 10 cd)))
                 (command "offset"         cdd linex qdz linex qdy "")
                 (command "measure" linex ds "")
                 (command)
                 (setq point (ssget "x" '((0 . "point"))))
                 (setq n (sslength point))
                 (setq i 0 ii 0)
                 (repeat n
                 (setq p1 (cdr(assoc 10 (entget(ssname point i)))))
                 (command "erase" (ssname point i) "")
                 (command "zoom" "w" (polar p1 (* pi 0.75) ds )         (polar p1 (* pi -0.25) ds ) )
                 (command "break"         (list (car p1) (cadr p1)         (caddr p1))         "@" )
                 (if (= 2 ii) (setq ii 0))
                 (if (= 0 ii) (o1o (entlast) cd) (command "erase" (entlast) ""))
                 (setq ii (1+ ii))         
                 (setq i (+ i 1))
                 )
                 (setq j (+ j 1))
                 (if (= 2 ii) (o1o linex cd) (command "erase" linex ""))
         )
                 (command "zoom" "e" "")
(setvar "cmdecho" cm)
                                                                         (setvar "osmode" os)
                                                                         (setvar "clayer"         tc)
)
(print "敲入tL运行程序---LJC") (PRINT)
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 06:23 , Processed in 0.507759 second(s), 75 queries .

© 2020-2025 乐筑天下

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