Schöck
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как сместить все объекты чертежа Автокада на отметку Z=0?

Как сместить все объекты чертежа Автокада на отметку Z=0?

Ответ
Поиск в этой теме
Непрочитано 12.08.2019, 06:20 #1
Как сместить все объекты чертежа Автокада на отметку Z=0?
Кудахтыч
 
Регистрация: 28.01.2019
Сообщений: 62

Проблема такая: Есть чертежи с планами съёмки в Автокаде выданного изыскателями, но проблема в том что съёмка содержит много элементов находящихся на Z>0 соответствующих отметке земли. Наличие объектов находящихся в разных плоскостях перпендикулярных оси Z приводит к тому что измеряемые линейкой расстояния между объектами выдают неправильные значения, т.к. расстояния нужны в плане горизонтальные спроецированные на плоскость земли, а не расстояния по профилю земли.
Для быстрого решения проблемы я написал плагин на VBA для автоматического изменения геометрических параметров разных объектов по оси Z:
Допустимые объекты / Изменяемое свойство / Количество, шт.:
- Точка (AcDbPoint) / Положение Z = 0 / ;
- Отрезок (AcDbLine) / Начало Z = 0; Конец Z = 0 / ;
- Полилиния (AcDbPolyline) / Уровень = 0 / ;
- 2D-полилиния (AcDb2dPolyline) / Уровень = 0 / ;
- 3D-полилиния (AcDb3dPolyline) / Вершина Z = 0 / ;
- МЛиния (AcDbMline) / / ;
- Луч (AcDbRay) / Базовая точка Z = 0; Вторая точка Z = 0 / ;
- Прямая (AcDbXline) / Базовая точка Z = 0; Вторая точка Z = 0 / ;
- Сплайн (AcDbSpline) / Вектор касательной в начале и конце XYZ = 0; Опр. т. Z = 0 / ;
- Спираль (AcDbHelix) / Положение Z = 0; Высота = 0; Высота витка = 0 / ;
- Круг (AcDbCircle) / Центр Z = 0 / ;
- Дуга (AcDbArc) / Центр Z = 0 / ;
- Эллипс (AcDbEllipse) / Центр Z = 0 / ;
- Вхождение блока (AcDbBlockReference) / Положение Z = 0 / ;
- Штриховка (AcDbHatch) / Уровень = 0 / ;
- Маскировка (AcDbWipeout) / Положение Z = 0 / ;
- Область (AcDbRegion) / / ;
- Текст (AcDbText) / Положение Z = 0 / ;
- Мтекст (AcDbMText) / Положение Z = 0 / ;
- Мультивыноска (AcDbMLeader) / / ;
- Параллельный размер (AcDbAlignedDimension) / / ;
- Повёрнутый размер (AcDbRotatedDimension) / / ;
- Ординатный размер (AcDbOrdinateDimension) / / ;
- Размер длины дуги (AcDbArcDimension) / / ;
- Размер с изломом (AcDbRadialDimensionLarge) / / ;
- Диаметр (AcDbDiametricDimension) / / ;
- Угловой размер (AcDb2LineAngularDimension) / / ;
- Растровое изображение (AcDbRasterImage) / Положение Z = 0 / .

Но как видно из списка не удалось выделить свойство для изменения положения по оси Z следующих объектов:
- МЛиния (AcDbMline);
- Область (AcDbRegion);
- Мультивыноска (AcDbMLeader);
- Все виды размеров.
В общем как сместить эти объекты по оси Z, если у них нет свойств для этого? С остальными объектами проблем нет.

Вложения
Тип файла: dwg
DWG 2010
Основные примитывы.dwg (106.2 Кб, 5 просмотров)

Просмотров: 927
 
Непрочитано 12.08.2019, 10:00
#2
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,068


Цитата:
Сообщение от Кудахтыч Посмотреть сообщение
В общем как сместить эти объекты по оси Z, если у них нет свойств для этого?
Просто передвинуть. Вот фрагмент справки:
__________________
_бложиг
Boxa на форуме  
 
Непрочитано 15.09.2019, 20:03
#3
Theodor


 
Регистрация: 16.04.2009
Петрозаводск
Сообщений: 222


Цитата:
Сообщение от Boxa Посмотреть сообщение
Просто передвинуть.
Как мне показалось, через матрицу нужно будет все координаты указать. Если Z понятно, что 0, то X и Y то у указанных объектов где взять? Или я не до конца эту функцию понимаю?
Theodor вне форума  
 
Непрочитано 15.09.2019, 20:38
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 36,757


Есть еще вариант (а то и не один):
1. Установить osnapz в 1 и пробовать измерять уже с ним
2. Использовать команду _.dist и внимательно смотреть на результаты в ком.строке.
3. ...
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 15.09.2019, 21:06
#5
Лиспер


 
Регистрация: 11.10.2010
Сообщений: 979


Есть еще _flatten и до фига аналогов.
__________________
(/= RegDate StartReadDate)
Лиспер вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как сместить все объекты чертежа Автокада на отметку Z=0?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Глюк автокада при построении линий командами сценария pwn Программирование 15 05.11.2016 23:37
Должен ли Autodesk Civil 3D 2016 экспортировать лист чертежа в чертеж Автокада очень долго SKY_SHY Вертикальные решения на базе AutoCAD 5 19.02.2016 14:05
Почему при вставке чертежа в Word меняются пропорции чертежа? МишаИнженер AutoCAD 9 28.11.2014 15:31
Как определить стоимость проектных работ, если не известна стоимость строительства? dextron3 Поиск литературы, чертежей, моделей и прочих материалов 37 27.08.2014 18:32
Перевод чертежа из Автокада в формат MapInfo элоя AutoCAD 6 19.06.2008 13:33