Hello Community!
I run in a problem, which I don’t know how to solve. The task is pretty simple,
extend surfaces to a specific boundary. Only specific edges should extend.
With a C# script, I extracted the desired edges of the surfaces, but for the Extend-Method I need the IsoStatus-Flag of the surfaces. It should work with the IsIsoParametric-Method, but I don’t get the correct flags.
C#-Snippet:
Curve y = y; // just for the understanding
DataTree<Brep> x = x ; // just for the understanding
Plane yPlane = new Plane(AreaMassProperties.Compute(y).Centroid, Vector3d.ZAxis);
for(int i = 0 ; i < x.BranchCount ; i++)
{
for(int j = 0 ; j < x.Branch(i).Count;j++)
{
Brep curSrf = x.Branch(i)[j];
int counter = 0;
for(int k = 0 ; k < curSrf.Edges.Count;k++)
{
double t = 0;
Curve curEdge = curSrf.Edges[k].DuplicateCurve();
curEdge.Transform(Transform.PlanarProjection(yPlane));
y.ClosestPoint(curEdge.PointAtLength(curEdge.GetLength() / 2), out t);
if(y.PointAt(t).DistanceTo(curEdge.PointAtLength(curEdge.GetLength() / 2)) < 0.50)
{
var iso = curSrf.Faces[0].IsIsoparametric(curEdge);
IsoStat.Add(iso);
Print(iso.ToString()); // prints "None"
counter++; /// use counter if a surface is double-hitted , maybe a while-loop to extend multiple times
}
}
What do I wrong ?
Thank you very much!
greetings,
Bumaye
Discourse_ExtendSrf-Extend.gh (19.4 KB)