При экспорте листов из Revit в PDF с использованием плагина Экспорт листов пользователи могут столкнуться с проблемой отображения шрифтов (например, некоторые символы отображаются некорректно). В частности, это касается шрифта Gost Common.
Варианты решений:
1. Переустановка шрифта Gost Common
Одной из возможных причин проблемы является использование старой версии шрифта. В этом случае рекомендуется переустановить шрифт, следуя инструкции от BIM2B.
2. Использование печати вместо экспорта
Если проблема сохраняется даже после переустановки шрифта, альтернативным решением является настройка вывода через печать, а не экспорт. Для этого в настройках плагина необходимо выбрать Печать в PDF:

При использовании других шрифтов, если они отображаются некорректно, рекомендуется использовать режим плагина Печать в PDF или выбрать другой шрифт.
Ранее у нас была заметка про Origin у PlanarFace, где мы писали, что Origin может не находиться в границах контура плоскости PlanarFace. А недавно мы столкнулись с еще одной недокументированной особенностью Revit API, которая в некоторых случаях может привести к неправильной работе задуманного алгоритма. И эта особенность – свойство Origin у отрезка, полученного методом Solid.IntersectWithCurve.
Опишем сразу на примере: создадим в пустом проекте элемент с твердым телом и возьмём его твердое тело:
var uiDoc = commandData.Application.ActiveUIDocument;
var doc = uiDoc.Document;
var element = doc.GetElement(uiDoc.Selection.PickObject(ObjectType.Element));
var solid = (Solid)element
.get_Geometry(new Options { DetailLevel = ViewDetailLevel.Fine })
.GetTransformed(Transform.Identity)
.First(e => e is Solid { Volume: > 0 });
Так как для примера мы использовали колонну, то мы точно знаем, что у неё есть точка вставки. Возьмем эту точку и с ее помощью создадим длинный вспомогательный отрезок:
var pt = ((LocationPoint)element.Location).Point;
var helpLine = Line.CreateBound(
pt - (XYZ.BasisZ * 1000),
pt + (XYZ.BasisZ * 1000));
Ну а далее используем метод Solid.IntersectWithCurve и получим отрезок, расположенный внутри твердого тела нашего элемента:
var result = solid.IntersectWithCurve(
helpLine,
new SolidCurveIntersectionOptions { ResultType = SolidCurveIntersectionMode.CurveSegmentsInside });
var insideLine = (Line)result.GetCurveSegment(0);
Так вот, если теперь мы посмотрим на свойства этого отрезка, то увидим, что его Origin остался такой-же, как был у исходного вспомогательного отрезка! И если вы возьмете у этого отрезка параметры в начале и в конце, то получите не самые ожидаемые значения:
И хотя случаев, где это может негативно сказаться на работе алгоритма, не много, они все же есть. Поэтому лучше знать про эту особенность заранее
При использовании плагина Квартирография в проекте создается ряд параметров, содержащих результаты работы плагина.
Для того чтобы в марке помещения отображались площади, полученные с помощью плагина Квартирография c использованием параметров ModPlus, необходимо выполнить следующие действия:
- В окне плагина на вкладке Параметры открыть список параметров ModPlus в блокноте
- Данные параметры можно добавить в существующий файл общих параметров (ФОП), либо создать новый ФОП только с параметрами ModPlus
- Далее необходимо открыть семейство марки помещения и для каждой метки заменить существующие параметры на соответствующие параметры ModPlus
- Загрузить семейство марки в проект
Рассмотрим вышеперечисленные шаги на примере редактирования марки ADSK_Марка_Помещение_Квартира.
Подробнее: Revit. Создание марки помещений по параметрам плагина «Квартирография»
Столкнулся сегодня с задачей, в которой мне необходимо было высчитать производные в точке для дуги. Как и прежде я снова открыл справку и, так как я не обладаю высшим геометрическим образованием, я снова впал в ступор с вопросом «Какое же значение мне нужно?». Поэтому я решил сделать для себя и для всех небольшую шпаргалку-визуализацию.
Суть шпаргалки – получить визуальное представление для векторов класса Transform, получаемых при использовании метода Curve.ComputeDerivatives
Подробнее: Revit. Визуализация ComputeDerivatives для Line и Arc