乐筑天下

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

[编程交流] 与偏移和柴对齐

[复制链接]

20

主题

62

帖子

42

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 07:34:55 | 显示全部楼层 |阅读模式
是否可以制作一个lisp,该lisp将创建具有给定偏移量的路线,并放置给定米间距的链测长度。假设我有一条6000米的多段线,它是中心线。现在我必须创建一个40 mt的偏移量(即右侧20 mt,左侧20 mt),并在100 mt的间隔处放置一个tik标记。在每个间隔处,链测长度将增加100 mt。文本将显示0.0 km、0.1 km、0.2 km等。
回复

使用道具 举报

44

主题

542

帖子

502

银币

后起之秀

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

铜币
220
发表于 2022-7-6 07:42:36 | 显示全部楼层
是的,这是可能的。
回复

使用道具 举报

20

主题

62

帖子

42

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 07:46:48 | 显示全部楼层
怎样我来不了。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 07:51:42 | 显示全部楼层
你能发布一个快照或上传一个样例图纸吗?
回复

使用道具 举报

20

主题

62

帖子

42

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 08:00:32 | 显示全部楼层
当然只需检查样本。。。。。。。。。
083455ij9l0lw9yexuyl39.jpg
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:05:39 | 显示全部楼层
这将有助于补偿:
 
http://lee-mac.com/doubleoffset.html
回复

使用道具 举报

20

主题

62

帖子

42

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 08:09:10 | 显示全部楼层
 
谢谢你,李。但我实际上需要具有双偏移量的链测长度。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 08:18:13 | 显示全部楼层
 
我知道你是这样做的,但我无法证明花在自愿时间为你写整个程序上的时间是合理的。
回复

使用道具 举报

20

主题

62

帖子

42

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
100
发表于 2022-7-6 08:22:00 | 显示全部楼层
对不起,李。我不想侮辱你。我只是告诉你我需要什么。这就是全部。
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-6 08:25:32 | 显示全部楼层
尝试此草稿。。。
 
  1. (defun c:Test (/ Text o i n k j ss in l l1 l2 sn e e1 r p pt)
  2. (vl-load-com)
  3. ;;; Tharwat 02. Sep. 2012 ;;;
  4. (defun Text (l l1 l2 / j i pt)
  5.    (setq j 0
  6.          i 0.0
  7.          )
  8.    (repeat (fix (/ l 100.))
  9.      (entmakex (list '(0 . "TEXT")
  10.                      '(40 . 10.0)
  11.                      (cons 1 (strcat (rtos (setq i (+ i 0.1)) 2 1) "Km."))
  12.                      (cons 10 (setq pt (nth j l1)))
  13.                      (cons 11 pt)
  14.                      (cons 50 (setq r (angle (nth j l1) (nth j l2))))
  15.                      )
  16.                )
  17.      (setq j (1+ j))
  18.      )
  19.    )
  20. (if (setq ss (ssget "_:L" '((0 . "LWPOLYLINE"))))
  21.    (repeat (setq in (sslength ss))
  22.      (setq o 20.
  23.            n 100.
  24.            k 100.
  25.            )
  26.      (if (> (setq l (vlax-curve-getdistatparam (setq sn (ssname ss (setq in (1- in)))) (vlax-curve-getendparam sn)))
  27.             100.
  28.             )
  29.        (progn (vla-offset (vlax-ename->vla-object sn) o)
  30.               (setq e (entlast))
  31.               (repeat (fix (/ (vlax-curve-getdistatparam e (vlax-curve-getendparam e)) 100.))
  32.                 (setq l1 (cons (vlax-curve-getpointatdist e n) l1))
  33.                 (setq n (+ n k))
  34.                 )
  35.               (vla-offset (vlax-ename->vla-object sn) (- o))
  36.               (setq e1 (entlast))
  37.               (setq n 100.)
  38.               (repeat (fix (/ (vlax-curve-getdistatparam e1 (vlax-curve-getendparam e1)) 100.))
  39.                 (setq l2 (cons (vlax-curve-getpointatdist e1 n) l2))
  40.                 (setq n (+ n k))
  41.                 )
  42.               (if (< (car (vlax-curve-getstartpoint sn)) (car (vlax-curve-getendpoint sn)))
  43.                 (setq l1 (reverse l1)
  44.                       l2 (reverse l2)
  45.                       )
  46.                 )
  47.               (Text l l1 l2)
  48.               (entmakex (list '(0 . "TEXT")
  49.                               '(40 . 10.0)
  50.                               (cons 10 (setq pt (vlax-curve-getstartpoint e)))
  51.                               (cons 11 pt)
  52.                               (cons 1 "0.0Km.")
  53.                               (cons 50 r)
  54.                               )
  55.                         )
  56.               (setq e nil
  57.                     i 0.0
  58.                     )
  59.               )
  60.        (princ "\n Polyline is shorter than 100.0 units long !!")
  61.        )
  62.      (setq l1 nil
  63.            l2 nil
  64.            )
  65.      )
  66.    (princ)
  67.    )
  68. (princ)
  69. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 04:56 , Processed in 1.078878 second(s), 74 queries .

© 2020-2025 乐筑天下

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