我是编程新手,上周才开始编写我的第一行代码。
我正在一个名为dynamo的程序中编写脚本,这将在我的项目中使用。经过一些研究,似乎我需要使用python。
我需要脚本做的是查看一堆行(在一个名为Revit的程序中),拾取该行的几何,然后检测是否有任何其他行具有接触的起点或终点有几何形状。然后我想在那一点拆分该行,这可以通过Curve.SplitByPoints
来完成,但是我需要某种方式将所有行与所有起点/终点进行比较,然后输出的方式是输出可以是用于按点分割曲线。我可以有线和切入点。
我试着解释说我能做到最好......
代码:
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
dataEnteringNode = IN
Line = IN[0] #Line
LPS = IN[1] # Line Point Start
LPE = IN[2] # Line Point End
LPC = IN[3] # Line Point Combined // Maybe not needed
T = 100 # Tolerance of Intersection
INT1 = [] # Blank Variable for First Loop Results
INT2 = [] # Blank Variable for First Loop Results
result1 = [] # Blank Variable for Second Loop Results
result2 =[] # Blank Variable for Second Loop Results
for i in range (0,len(LPS)):
distance = Curve.DistanceTo(LPS[i],Line[i])
INT1.append(distance)
for i in range (0,len(LPE)):
distance = Curve.DistanceTo(LPE[i],Line[i])
INT2.append(distance)
for i in range (0,len(INT1)):
if INT1 > T:
result1.append('T1')
else:
result1.append('F1')
for i in range (0,len(INT2)):
if INT2 > T:
result2.append('T2')
else:
result2.append('F2')
Assign your output to the OUT variable.
OUT = result1, result2
编辑:
抱歉,我知道解释这对我来说很棘手。
我会尝试简化它。
我想要类似的东西:
if curve intersect with StartPoint or EndPoint
Curve.split points(Curve,Intersecting_Point)
因此,我希望类似的东西会如此,当一个起点或终点与一条曲线相交时,曲线将在那一点被分成两条曲线。
所以我想在上面开展一系列工作。我画了一张图并尝试上传,但出于某种原因,它现在说我需要10个代表来发布图像。这意味着我无法上传新的图表,不得不删除我的图表?
感谢您的帮助!对不起我的解释技巧