Saxywolf 发表于 2022-7-6 14:43:23

求闭合多段的面积

我需要一个Visual Lisp例程来查找重叠多段线的区域。我计划拥有的另一个功能是围绕重叠区域创建多段线。我还没有找到任何合适的例子。我附上了一个测试图纸,其中包含了几个可能出现的奇怪特征:PolylineOverlapperAreaTest(1)。图纸
 
如果能得到任何帮助,我将不胜感激。
 
--------以下附加信息--------
[列表]
[*]左侧的多段线扭曲如图8所示。
[*]区域在两个单独的位置重叠
[*]多段线在顶部附近共享一条边,没有重叠区域。
[*]除非恢复到原始状态,否则不允许修改原始多段线
[*]另一层上的工作线很好,即使它们留在那里。
[*]两条多段线都将闭合。
[*]顶点可能位于或不位于重叠区域的边缘。
[*]如果重叠区域周围的多段线在不同位置重叠,则它们可以是单独的多段线,如示例中所示。
[*]有一条由用户选择的闭合边界多段线,其中外部区域不会被制表。
[*]并非边界内的所有区域都将被勾勒出来
[*]有时子区域超出边界
所以你知道我来自哪里。。。我是一名业余程序员,对lisp不太熟悉。我通常通过示例和函数库学习一门新语言。我发现了大量的示例代码,但帮助中的函数库似乎缺少好的示例。我的目标是创建一个Visual Lisp例程(.lsp和.dcl),让用户能够非常清楚地输入所有变量。我这样做是为了好玩,但在工作中使用。我故意不告诉你整个项目的想法,这样我就可以尽可能地独自完成。
 
如果有帮助的话,我正在使用Civil3D Land Desktop Companion 2009和Map和Express工具

ronjonp 发表于 2022-7-6 15:13:44

只是一个想法。。。。但您可以将“边界”命令用于拾取点,然后添加新创建的多段线的区域。

Saxywolf 发表于 2022-7-6 16:02:11

嘿,谢谢。我甚至不知道边界命令(我是分公司的计算机/cad人员)。如果我手动执行此操作,我肯定会利用它(好吧,无论如何,现在)。然而,有50到200个或更多的领域需要确定,其中一些相当小,很容易被忽视。此外,有三种类型的重叠多段线区域,最终创建的三维阵列可能是面积值的100x12x4。(我的计划是在区域间循环时输出到文本文件,而不是制作一个巨大的3D阵列。)除此之外,这些领域可能会发生变化,需要重新编制表格。手动执行此操作需要有更改前和更改后的记录,以便于更新总面积,这很容易出错,而且非常麻烦。
 
当我在想我该怎么做的时候。。。了解更多约束(也添加到第一篇文章中)可能很有用。如果您认为还有其他约束可能有助于这一过程,请随时提出建议。
[列表]
[*]有一条由用户选择的闭合边界多段线,其中外部区域不会被制表。
[*]并非边界内的所有区域都将被勾勒出来
[*]有时子区域超出边界
只是想。。。是否有一个函数可以获取闭合多段线和一个点,并在该点位于闭合多段线内时返回true?
页: [1]
查看完整版本: 求闭合多段的面积