hkhbs 发表于 2021-8-13 19:38:41

断面生成后断面里程不对 麻烦老师们给看看

还有最后的一个断面总是生成不出来

hkhbs 发表于 2021-8-16 16:34:55

测试数据 麻烦师傅们给看一下

f4800 发表于 2021-11-11 20:25:07

hkhbs 发表于 2021-8-18 19:18
感谢@yshf@xvjiex可能是我描述的不准确   不过 已经可以完美解决了问题谢谢

怎么解决的 ?方便分享下么

yshf 发表于 2021-8-18 09:49:29

本帖最后由 yshf 于 2021-8-18 10:03 编辑

1、将:
(setq l3 (mapcar '(lambda(x y) (GetSubList ll x (1- y))) l2 (cdr l2)))
改为:
(setq l3 (append (mapcar '(lambda(x y) (GetSubList ll x (1- y))) l2 (cdr l2))
                         (list (member (nth (last l2) ll) ll))
         )
)

2、将:
(defun lczh (x / x1 x2)
(if (> x 0)
    (setq x1 (itoa (fix (/ x 1000.)))
          x2 (substr (rtos (+ (rem x 1000) 2000.) 2 3) 3)
    )
    (setq x1 (itoa (fix (1- (/ x 1000.))))
          x2 (substr (rtos (+ (rem x 1000) 2000.) 2 3) 3)
    )
)
(strcat "k" x1 "+" x2)
)
改为:
(defun lczh (x / x1 x2 zffh x2zf)
(setq zffh "+")
(if (< x 0.0) (setqzffh "-"))
(setq x (abs x))
(setq x1 (fix (/ x 1000.0)))
(setq x2 (- x (* x1 1000.0)))
(setq x2zf (rtos x2 2 3))
(If (< x2 10.0)
      (setq x2zf (strcat "00" x2zf))
      (if (< x2 100.0)
          (setq x2zf (strcat "0" x2zf))
      )
)
(setq x2zf (strcat "K" (itoa x1) zffh x2zf))
)
3、注意:变量名x用得太泛滥

xvjiex 发表于 2021-8-16 13:45:34

断面里程怎么个不对,请详细说明。或图片说明。

hkhbs 发表于 2021-8-16 16:23:48

生成到里程100后面里程不会累加了

hkhbs 发表于 2021-8-16 16:25:04

还有一般最后一个断面 出不来必须把数据单独拎出来生成

xvjiex 发表于 2021-8-17 08:39:08

不懂你们的专业,不知道是否这个里程?没有找到大于100的里程。

hkhbs 发表于 2021-8-18 06:32:21

是我表述的问题是这个里程

xvjiex 发表于 2021-8-18 08:29:56

你的要求是什么,比如有这样的数据:BEGIN,178.848:14。你要在CAD上显示什么样子?

hkhbs 发表于 2021-8-18 19:06:56

K0+178.84:D
页: [1] 2
查看完整版本: 断面生成后断面里程不对 麻烦老师们给看看