30/11/2018
Получение положения опорной плоскости из экземпляра семейства
Вопрос: Возможно ли получить положение опорной плоскости экземпляра семейства?
Мне нужно знать её нормаль и положение. Я пытался использовать ReferenceIntersector, но он её не определяет.
Ответ: Вы можете посмотреть, как определить нормаль или направление опорной линии в этой дискуссии. Это позволит Вам определить нормаль, тем не менее, из размера в обсуждаемом коде, вы также можете определить точку на плоскости.
С другой стороны, есть альтернативный способ: Вы можете создать опорную плоскость, используя reference, и из этой плоскости получить начало координат и нормаль.
Код - C#: [Выделить]
- static bool GetFamilyInstanceReferencePlaneLocation(FamilyInstance fi, out XYZ origin, out XYZ normal)
- {
- bool found = false;
- origin = XYZ.Zero;
- normal = XYZ.Zero;
- Reference r = fi
- .GetReferences(FamilyInstanceReferenceType.Left)
- .FirstOrDefault();
- if(null != r)
- {
- Document doc = fi.Document;
- using(Transaction t = new Transaction(doc))
- {
- t.Start("Create Temporary Sketch Plane");
- SketchPlane sk = SketchPlane.Create(doc, r);
- if(null != sk )
- {
- Plane pl = sk.GetPlane();
- origin = pl.Origin;
- normal = pl.Normal;
- found = true;
- }
- t.RollBack();
- }
- }
- return found;
- }
Автор перевода: Александр Игнатович
Отредактировано 30.11.2018 в 20:47:40
Обсуждение: http://adn-cis.org/forum/index.php?topic=
Опубликовано 30.11.2018Отредактировано 30.11.2018 в 20:47:40