HelixToolkit을 사용하고 C#을 사용하여 프로그래밍하고 있습니다. 지금, 나는이 기하학적 객체를 검색하기 위해 몇 줄을 썼다특정 지오메트리의 위치를 확인할 수 없습니다. 위치 및 크기를 사용하여 지오메트리를 검색하는 방법
var meshBuilder3 = new MeshBuilder(false, false);
meshBuilder3.AddBox(new Point3D(1, 9, 15), 2, 2, 2);
var mesh1000 = meshBuilder3.ToMesh(true);
Color halfTransparent = Color.FromArgb(127, Colors.Black.R, Colors.Black.G, Colors.Black.B);
var TranspMaterial = MaterialHelper.CreateMaterial(halfTransparent);
modelGroup.Children.Add(new GeometryModel3D { Geometry = mesh1000, Material = TranspMaterial });
:
나는 큐브를 만들기 위해 다음 코드를 썼다. 내가Rect3D
객체에 내 커서를 지적하고 위치와
X,Y,Z
크기 값을보고 시도
Model3DCollection children = modelGroup.Children;
Model3D model = children[0];
GeometryModel3D geom3D = (GeometryModel3D)model;
Geometry3D geo3D = geom3D.Geometry;
Rect3D rec3D = geo3D.Bounds;
Point3D x = rec3D.Location;
, 그것은
{0,8,5}
각각
13,5,5
등
X,Y,Z
로 표시 위치했다.
내 큐브 크기는 2
이고 위치는 {1,9,15}
입니다. 왜 인쇄 왜 잘못 된 가치를 이해하지 않습니다.
또한 사용할 수있는 모든 메서드를 살펴 보았지만 위치 및 중심 값을 전달하면 GeometryModel3D
개체를 검색하는 메서드를 찾을 수 없습니다. 내 입방체의 위치와 크기가있는 경우 Geometry3D
개체를 검색 할 수 있습니까? 왜냐하면 제가 아이들을 검색하려고하면 전체 아이들을 반복하고, 그러면 각 아이들의 위치를 원하는 위치로 확인하려고하면 정말 큰 프로그램이 될 것이고 더 많은 계산 시간이 필요할 것입니다.
나는 이런 식으로 뭔가를 원하는 :
GeometryModel3D geom3D = children.find(Point3D Location,double sizeX,double sizeY,double sizeZ);
사람이이 두 가지 질문에 대답 할 수 있다면 나는 정말 기쁠 것입니다. 미리 감사드립니다.
'ToMesh' 호출 후에 여전히 큐브 개체가 있는지 확인 하시겠습니까? 이 이름은 지오메트리를 메쉬 다각형/삼각형으로 변환합니다. – zcui93
하지만 AddBox 함수의 반환 형식이 void 일 때 위의 큐브 Object가 없습니다. 좀 더 설명해 주시겠습니까? –
난 툴킷을 방금 꺼냈다. 불행히도 코드가 컴파일되지 않으므로이 코드를 다시 생성 할 수 없습니다. – zcui93