Создайте размеры от края стены, до боковых сторон отверстий, до другого края стены

Я боролся с этой проблемой время от времени в течение большей части года. Как следует из названия, я хочу провести измерение от одной стороны стены до обеих сторон проемов (дверных проемов), а затем заканчиваться на другом конце стены (вертикально и горизонтально). Я также хотел бы измерить все семьи, размещенные в стене, но я смог сделать это, используя класс волшебного помощника Скотта Уилсона. Найдено здесь: http://thebuildingcoder.typepad.com/blog/2016/04/stable-reference-string-magic-voodoo.html

foreach (ElementId ele in selSet) {
            FamilyInstance fi = doc.GetElement(ele) as FamilyInstance;
            Reference reference = ScottWilsonVoodooMagic.GetSpecialFamilyReference(fi,ScottWilsonVoodooMagic.SpecialReferenceType.CenterLR,doc);
            refs.Append(reference);
            pts[i] = ( fi.Location as LocationPoint ).Point;
            i++;
        }

        XYZ offset = new XYZ(0,0,4);
        Line line = Line.CreateBound( pts[0]+offset, pts[selSet.Count - 1]+offset );


        using( Transaction t = new Transaction( doc ) )
        {
            t.Start( "dimension embeds" );
            Dimension dim = doc.Create.NewDimension(doc.ActiveView, line, refs );
            t.Commit();
        }

Проблема заключается в определении соответствующих устойчивых ссылок на грани стен. Я могу найти все лица на стене, но это дает мне более 100 лиц, чтобы разобраться.

Если кто-нибудь может помочь мне, это будет очень цениться!

Примечание: самое близкое из полученных - использование трассировки лучей через мою панель, затем использование метода пересечения ссылок для определения ссылок. Но я действительно борюсь с реализацией: http://thebuildingcoder.typepad.com/blog/2015/12/retrieving-wall-openings-and-sorting-points.html

1 ответ

Эти два сообщения должны предоставить более чем достаточно для решения всех ваших проблем:

По сути, вам нужно получить ссылки на грани или ребра, к которым вы хотите прикрепить размеры. Эти ссылки могут быть получены несколькими способами. Два общих и простых подхода:

Другие вопросы по тегам