PanHasan 发表于 2022-7-6 13:29:49

你的两个选择都和我的一样,所以你可以选择更好的一个,也许可以试试
 

Dim IloscWszystkichLinii As Integer = tabId.Count

在我的代码中没有区别
Dim IloscWszystkichLinii As Integer = tabId.Count()

SEANT 发表于 2022-7-6 13:33:37

潘汉森,我昨晚确实看了一遍常规赛,但找不到不合适结果的原因。然而,我必须承认,我仍然很难理解程序的全部范围以及各种功能的原因。当然,您承担的任务是复杂的,因此代码的复杂性是意料之中的。我会在接下来的一两天里再看一看。
 
但是
 
如果在AutoCAD中创建基本设置,并逐步执行代码:错误结果的第一个指示在哪里?我怀疑它可能在szukajPrzecieciaPomocniczego的这条线附近:
 
自然对数。IntersectWith(lnL1,Intersect.OnBothOperands,lnL1.GetPlane(),Cl\U crsPt,intPomoc1,intPomoc2)
 
 
 
我提出的另一个有助于一般调试的建议是将功能的离散位隔离到单独的子/函数中。面向对象编程的规则之一是,任何函数都不应超过12-15行。如果是这样,就很有可能进一步孤立。
 
似乎例程最终将需要一些循环结构来处理整个周长(代码中包含的一些注释似乎表明了这一点)。在循环过程中,有选择地从离散函数库中进行选择的能力将非常有用。

PanHasan 发表于 2022-7-6 13:37:07

你好
我发现了错误,它位于przecieciaPromienia。我纠正了两件事,现在它工作了。函数通过帮助行找到了inters,而不是真正的下一行。这是正确的函数
9和在主功能src中校正的
 
但是现在我将把我的代码应用到你的建议中,但是关于循环和离散函数,我没有得到它;p有比使用simple while更好的方法吗?感谢圣徒;p

SEANT 发表于 2022-7-6 13:40:10

酷。:眨眼:很高兴听到例行节目正在进行。对不起,我帮不了那么多忙。这个过程很有趣;今天晚些时候,我将把新函数替换到例程中并进行测试。
 
 
实际上,我也认为“While”是一种方式。您可以使用某种“递归”设置,但我不确定这是否实用。

PanHasan 发表于 2022-7-6 13:43:15

你好
也许你知道我该如何改变擦除机制,以及为了什么。如果宏不能吸引原始图形,那就更好了。我试着把这些线复制到新的图层上,然后把它隐藏起来,但我不起作用,它们甚至在隐藏的时候也会相交。

SEANT 发表于 2022-7-6 13:49:09

 
红色的句子,我认为是真的。
 
大多数情况下,所有Autodesk。AutoCAD。DatabaseServices曲线图元具有Autodesk。AutoCAD。几何学曲线2D/Autodesk。AutoCAD。几何学曲线3D对应。因此,如果无意将几何图形永久添加到图形的数据库中,我觉得最好使用Autodesk。AutoCAD。几何体版本。
 
这还有一个额外的好处,即只需要在OpenMode上设置对象(BlockTableRecords、数据库驻留实体等)。ForWrite的持续时间尽可能短。
 
可以使用Autodesk执行所有几何计算。AutoCAD。几何体,有用的几何体可以在相关Autodesk的构造函数中使用。AutoCAD。数据库服务。实体并仅在最后一刻添加到开放数据库。
 
Autodesk。AutoCAD。为计算创建的几何体对象不需要进一步注意,因为它们将由垃圾收集器自动处理。
页: 1 [2]
查看完整版本: 跟踪线。网