乐筑天下

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

[编程交流] 按颜色划分的海拔高度-半对称

[复制链接]

57

主题

243

帖子

190

银币

后起之秀

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

铜币
285
发表于 2022-7-6 07:30:48 | 显示全部楼层 |阅读模式
我发现了一个有趣的程序,可以根据海拔高度进行调查。
碰巧,有人知道一个类似的程序,但其中考虑了轮廓/曲线?
 
(见显示常规结果的图像)
083053ow1444e1o246sxuk.jpg
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:35:52 | 显示全部楼层
曲线是具有高程的多段线,还是具有不同高程的三维多段线?
回复

使用道具 举报

57

主题

243

帖子

190

银币

后起之秀

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

铜币
285
发表于 2022-7-6 07:38:35 | 显示全部楼层
 
Lee,LW带高程的多段线。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 07:41:57 | 显示全部楼层
Civ 3d可以让你制作表面彩虹,它的显示风格选择之一是颜色而不是线条,你可以选择需要多少“条纹”。
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2022-7-6 07:45:14 | 显示全部楼层
然后,想法是获得每个LWPoly的高程Z值:各种方法,但我认为最简单的方法是使用entget提取PL的DXF代码,然后使用代码为38的assoc。 
然后你需要弄清楚颜色是如何在不同层次上变化的:
 
[列表=1]
  • 最低和最高是什么?
  • 这两种颜色之间会发生怎样的变化?
  • 颜色的新算法是否在一定程度上有效?
  • 您会使用颜色渐变,即RGB颜色而不是ACI吗?
    [/列表]
    然后修改DXF数据列表(使用entmod),将ACI颜色添加到代码62,或将RGB颜色添加到420。
  • 回复

    使用道具 举报

    106

    主题

    1万

    帖子

    101

    银币

    顶梁支柱

    Rank: 50Rank: 50

    铜币
    1299
    发表于 2022-7-6 07:47:57 | 显示全部楼层
    类似的问题以前在这里被问过。取你的最大最小值,然后除以步长,这会增加颜色。如果你使用简单的按颜色方法颜色10-250,那么很容易计算出物体的颜色数。RGB是更好的色调,但有点难解决。
    回复

    使用道具 举报

    57

    主题

    243

    帖子

    190

    银币

    后起之秀

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

    铜币
    285
    发表于 2022-7-6 07:51:02 | 显示全部楼层
     
    是的,我认为解决方案是获得每个lwpolylinha的z值,并为该值指定一个颜色渐变,最终将色调保留为最低值​​将暗色调设置为最高值​​.
    按照我提到的例程示例,最好能为各种调色板提供选项。
    最后,可以选择在最大和最小Z之间设置间隔,其中每个间隔将应用一种颜色。
    回复

    使用道具 举报

    11

    主题

    968

    帖子

    919

    银币

    初露锋芒

    Rank: 3Rank: 3Rank: 3

    铜币
    99
    发表于 2022-7-6 07:55:21 | 显示全部楼层
    这是一个非常简单的版本,只使用ACI颜色数从10到199,从最低到最高。
    1. (vl-load-com)
    2. (setq *PLColor:ACI_Range* '(10 . 199)
    3.      *PLColor:Z_Range* '(0.0 . 100.0))
    4. (defun PLColour:CalcColour (elevation / z aci)
    5. (setq z (- (cdr *PLColor:Z_Range*) (car *PLColor:Z_Range*) -1.0)
    6.        z (/ (rem elevation z) z))
    7. (+ (car *PLColor:ACI_Range*) (fix (* (- (cdr *PLColor:ACI_Range*) (car *PLColor:ACI_Range*)) z))))
    8. (defun c:PLColour (/ ss eList minZ maxZ)
    9. (if (and (ssget '((0 . "LWPOLYLINE")))
    10.           (setq ss (vla-get-ActiveSelectionSet (vla-get-ActiveDocument (vlax-get-acad-object)))))
    11.    (progn (setq minZ 1.7976931348623158e308 maxZ -1.7976931348623158e308)
    12.      (vlax-for eo ss
    13.        (setq eList (cons eo eList)
    14.              minZ (min (vla-get-Elevation eo) minZ)
    15.              maxZ (max (vla-get-Elevation eo) maxZ)))
    16.      (setq *PLColor:Z_Range* (cons minZ maxZ))
    17.      (foreach eo eList (vla-put-Color eo (PLColour:CalcColour (vla-get-Elevation eo))))
    18.      (vla-Delete ss)))
    19. (princ))
    回复

    使用道具 举报

    57

    主题

    243

    帖子

    190

    银币

    后起之秀

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

    铜币
    285
    发表于 2022-7-6 07:58:34 | 显示全部楼层
    伊尔内布,坦克求救。
     
    不幸的是,它似乎不起作用。报告以下错误:
     
    此外,这:
     
    我做错什么了吗?
    回复

    使用道具 举报

    11

    主题

    968

    帖子

    919

    银币

    初露锋芒

    Rank: 3Rank: 3Rank: 3

    铜币
    99
    发表于 2022-7-6 08:00:15 | 显示全部楼层
    您使用的是哪一版本的ACad?还是垂直/克隆?
    回复

    使用道具 举报

    发表回复

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

    本版积分规则

    • 微信公众平台

    • 扫描访问手机版

    • 点击图片下载手机App

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

    GMT+8, 2025-3-10 05:08 , Processed in 1.809880 second(s), 75 queries .

    © 2020-2025 乐筑天下

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