先进措施
你好我需要一个lisp程序来执行以下操作
矩形/方形区域/圆形区域的喷雾灌溉设计。
步骤1:要求用户输入形状,矩形或圆形
第2步:。如果输入的区域为矩形,请使用以下步骤,
第3步:要求用户输入首选半径,
第4步:
如果输入值为
在4到4.5m之间,编程在每个角落插入名为15-90的块。
在3到3.5m之间,编程在每个角落插入名为12-90的块。
在2到2.5m之间,编程在每个角落插入名为10-90的块。
步骤5
如果用户在步骤3中输入的值为4-4.5m,并且截面值的长度取自步骤3,则使用测量命令将多段线的每个截面除以块名15-180。
类似地,步骤3的输入在3-3.5m之间,然后使用块名12-180,2-2.5m,然后使用10-180。
如果步骤1上的输入是循环的,请跳过步骤4,直接转到步骤5。
下一步还需要添加一些内容,我知道这在现阶段要求太多。
提前谢谢。
Suriwaits。
喷雾图纸 内部喷水装置呢,不是应该有吗?
非常简单的任务只是很多规则,喷雾器半径到我会通过多少头返回?第一次尝试4.5可以吗?然后是3.5,然后是2.5。L与W的头部半径不同吗?瘦长的直肠?
物体是自动的,因为圆不是直线,矩形或正方形应该无关紧要。此外,直肠应在任何角度工作。wierd形状呢?
不管怎样,我确信这样的事情存在,它是否免费是另一个问题。
看看这个http://www.softwarerepublic.com/raincad/raincad.aspx 尊敬的Bigal:,
我是手工设计的,我买不起raincad、Land F/X等软件。
该软件的大部分都有关于市场上大多数可用产品的数据库,并且根据我们对所需洒水器的输入,可以很好地处理正方形、矩形和圆形等规则区域。对于不规则区域,我们必须自行手动调整喷水装置。
当我做设计时,我想要的是头对头的覆盖,而不是需要多少喷头。我可以手动放置条形喷嘴(细长矩形)。
是的,当然我需要整圈洒水器。在这个阶段我不想太打扰你。
对于圆,我总是在它们上面绘制多段线,因此对象总是直线/圆弧/多段线。
Suriwaits。 我仍然认为需要一些规则,dwg是精确的,间距为4.1,当这个长度略小于我所期望的时,只允许稍微更多的重叠。
在lisp中,很容易计算出边的长度,并为measure命令计算出给定范围的间距,然后添加角点。
您的范围需要更精确4-4.5 3-3.5 3.75时会发生什么?
最好发布带有一些真实示例的dwg。 让我们从半圆形喷水器开始。角落和全自动喷水装置将在稍后处理。
找出段(X)的长度,将该长度除以在首选半径(Y)中输入的值,如果X/Y是分数,则将其四舍五入到最近的整数,例如,如果Z=2.3,则四舍五入到2(Z’)&如果Z=2.6,则四舍五入到3(Z’)。
现在将X除以新的Z’,显示计算的半径®为=X/Z’,询问用户是否继续计算半径®,如果是,则继续执行分割命令,段数为Z’,块名基于范围,即15-180(4-4.5)、12-180(3-3.5m)和10-180(2-2.5m)。
例子:
列表线长度X=13m(根据图纸计算)
首选半径Y=4.2(用户输入)
段数Z=13/4.2=3.09
Z’=3(Z值的四舍五入)
分割X/Z’=4.333,显示为“计算半径为4.33。是否继续(是/否),如果输入为“否”,请用户“输入新的首选半径”。如果用户输入为“是”,继续分割(CAD命令)名为15-180的块的Z’编号的对象。
半圆洒水器。图纸 你是希望有人写下所有的代码,还是只想让它工作的所有部分,然后你自己动手。
您已经在上面的帖子中解释了所需的步骤。只有一个问题使用直线和pline之间有区别下面的例子是针对直线的
一个简单的开始
(setq pickobj (entsel "\nPick line :"))
(setq stpt (cdr (assoc 10 (entget (car pickobj)))))
(setq endpt (cdr (assoc 11 (entget (car pickobj))))
(setq len (distance stpt endpt))
(setq rad (getreal "\nEnter desirable radius))
(setq howmany (/ len rad))
(Princ (fix howmany)) 尊敬的Bigal:,
如果能为我编写完整的代码就太好了,因为我不知道如何编写lisp。
我希望代码能够在线、弧和普林线上工作。当谈到pline时,应考虑一次两个顶点之间的线段长度。不是总长度。
据我从你上面发布的代码中了解到的,它停在中间的某个地方,即代码停在根据给定半径确定所需喷水器的数量时,大多数情况下都是整数,提醒这个数字不是必需的。我想把这个数四舍五入到最接近的整数,然后把长度除以整数。现在显示结果,因为计算出的半径是如此之多,如此等等,正如我在上一篇文章中详细介绍的那样。
谢谢
Suriwaits。
cadtutor的人自愿投入他们的时间,所以这不是一个立即去那里得到你想要的东西,我现在有5分钟的空闲时间,所以我会拿出更多的代码作为一个例子,我知道李mac有一个适当的四舍五入例程也需要它。
如果你真的想要快速的东西,这里有很多好的人,他们会为你的工作付出代价。 Suriwaits,
我看了一下你的问题。
通常你需要头对头洒水。因为我们只能选择10’12’或15’半径。
不太确定,但我认为理想的半径应该是使余数最小化的半径
距离/半径的。
例如,边长为15.2,
(rem 15.2 4.57) ==> 1.49
(rem 15.2 3.66) ==> 0.56
(rem 15.2 3.048) ==> 3.008
因此,我们得到的最小过喷量为3.66或12英尺。
如果它适用于每种情况,您可以在没有
提示输入。
ymg公司
我理解你的努力,感谢你抽出时间。
不要着急。我可以永远等待。
再加上一些代码,我会努力弥补。
谢谢
Suriwaits公司
页:
[1]
2