xyccf 发表于 2016-1-26 19:27:42

批量铁路轨道线,免币

支持将spline,lwpolyline,line的线段批量转换成铁路轨道线型,效果如下图。两个月没碰代码,函数都记不住了,嘿嘿。大概花了4、5个小时,水平有限献丑了,欢迎指正。依旧是老规矩,源码奉上,不收币。

guosheyang 发表于 2021-11-3 09:07:18

感谢共享!这个函数算样条线的中点是不对的
(defun xl-3p (ent / ps pe pm)
(setq ps (vlax-curve-getstartparam ent)
      pe (vlax-curve-getendparam ent)
      pm (/ (- pe ps) 2))
(mapcar 'vlax-curve-getpointatparam (list ent ent ent) (list ps pm pe))
)
要用这个 (vlax-curve-getpointAtdist ent(/(vlax-curve-getDistAtParam ent(vlax-curve-getEndParam ent))2))

lxdz443 发表于 2016-1-26 19:51:58

能不能把两线的间距设置为1.44,再就是能把两头都设置为填充的那种吗?

xyccf 发表于 2016-1-27 21:41:55

lxdz443 发表于 2016-1-26 19:51 static/image/common/back.gif
能不能把两线的间距设置为1.44,再就是能把两头都设置为填充的那种吗?

你确定要设置成绝对距离吗?已经给你改好了,要是觉得距离太小就该width那个变量,要是觉得黑白间隔不对就改dist(只要是奇数都是两端有填充),我都在里面注释好了。

lxdz443 发表于 2016-1-28 06:59:58

好的,谢谢。

yoyoho 发表于 2016-1-28 08:14:04

谢谢楼主分享!!!!!

我爱lisp 发表于 2016-2-2 08:51:07

这么好的东西为啥没人顶,建议楼主公布一下思路,开发围墙,围栏、道路啥的

我爱lisp 发表于 2016-2-2 08:54:23

经过测试了,不是按照多义线模式编制的,不方便修改,

ynhh 发表于 2016-2-2 09:26:23

建议做成对话框的
可能更方便一些

xyccf 发表于 2016-2-3 09:51:31

我爱lisp 发表于 2016-2-2 08:54 static/image/common/back.gif
经过测试了,不是按照多义线模式编制的,不方便修改,

思路很简单,就是偏移,划线分区域,填充。不明白多义线模式什么意思

xyccf 发表于 2016-2-3 09:53:28

ynhh 发表于 2016-2-2 09:26 static/image/common/back.gif
建议做成对话框的
可能更方便一些

源码都给了,控件很简单的,随便改改咯
页: [1] 2
查看完整版本: 批量铁路轨道线,免币