69 подписчиков
Часть 1.
На данный момент под нанокад на C# написаны следующие модули:
1. Под нанокад переписал калькулятор отметок и уклонов. Т.е. можно вставлять отметки, просчитывать по уклону и с учетом перепада высот (например на бордюрах), вставлять отметку по уклону на заданном расстоянии, вставлять интерполированную отметку. (2месяца работы)
Пока осталось не реализована видимость блока отметки при вставке (сверху, снизу, с крестом, с треугольником).
Посмотреть видео работы макроса: dzen.ru/...t=2
2. Подпись проектных горизонталей генплана. Горизонтали вставляю из робура. Направление подписи задается при вставке. Сторонность текста относительно горизонтали задается потом путем отзеркаливания в свойствах динамического блока. Чтобы редактировать динамические блоки приходится использовать автокад. (1 день работы)
Посмотреть видео работы макроса: dzen.ru/...t=5
3. Вставка пикетажа. Ось трассы с пикетажем из робура (можно и из Civil 3D но зачем?) экспортируется в landxml.
Затем в макросе используя диалоговое окно находим и подгружаем данный xml файл. После чего можно вставлять блок пикетажа с двумя аттрибутами (подпись и пикетаж). (2 месяца в основном ушли на попытки прочитать формат landxml, когда разобрался написал все за 2-3 недели). Ограничение: пока пикетаж считается напротив прямых и круговых. На переходных пока не вычисляется.
Посмотреть видео работы макроса: dzen.ru/...t=6
4. Вставка отметок из проектной поверхности и отметок по углам отмостки (красной/черной) из поверхностей. Из робура экспортирую поверхности (проектную и земли) в формат landxml. Далее из макроса подгружаю данные поверхности. Указываю точку, нахожу в каком треугольнике поверхности она находится, определяю высоту (Поначалу позаимствовал данные два алгоритма на просторах интернета. Определение высоты пришлось позднее переписать самому. Плохо работало при больших т.е. реальных координатах) и вставляю динамическим блоком:
- красную
- красно-черную отметку
- отметку земли
- добавочную отметку для картограммы.
Посмотреть видео работы макроса: dzen.ru/...t=4
Геоникс теперь мне не нужен. Кстати про геоникс. Все вставляемые тексты в геониксе без маскировки. В моей фирме маскировка текста обязательное требование. Из-за этого мне приходится атрибуты в блоках делать мультистроковыми и редактирование приходится делать командой ATTIPEDIT. А в геониксе пришлось все разбивать и превращать текст в мтекст.
С 25,08,23-30,08,23 пока был на больничном проделана огромная работа
5. Начал восстанавливать работу с поперечниками.
а. Переписал окно настроек для поперечников.
б. Написал окно для привязки поперечника всевозможными способами. В том числе к пикетажу, т.к. возможна работа с получением данных из трассы.
в. Написал макрос (getgeopointfromsection) которым выбираю целиком поперечник и трассу. предварительно на отдельный слой выношу нужную мне геологию (в данном случае торф). В результате в текстовом файле сохраняются
координаты и высота точек. После чего закидываю их в Робур и по поперечникам фактически строится поверхность геологии. Делалось для того, чтобы построить картограмму. То же самое планирую сделать с профилями (но это пока планы). Самое сложное в макросе оказалось сделать функцию получения координат и направления из трассы по заданному пикетажу. Как и ранее функция работает да прямых и круговых кривых. Переходные не охвачены т.к. пока не встречались на станциях.
Начал использовать эту функцию для построения поверхности путевой (ж.д.) части.
12.09.23
К модулю вставки отметок из поверхности (в т. ч. картограммы и красной/черной) добавлена возможность учитывать разность координат между поверхностью в Робуре и координатами чертежа в нанокаде. Т.е. определяется известная координата в чертеже и в Робуре. Больше не нужно переносить чертеж или поверхность в одни координаты при работе с поверхностью.
23.10.23
Добавил универсальности. Теперь макросы работают в зависимости от системных настроек разделителя чисел (точки или запятой). До этого при запятой макросы не работали.
3 минуты
5 мая 2023
122 читали