Реклама i
Стань нашим партнером - зарабатывай с нами!
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Массовое изменение единиц измерения чертежей

Массовое изменение единиц измерения чертежей

Ответ
Поиск в этой теме
Непрочитано 03.03.2014, 10:47 #1
Массовое изменение единиц измерения чертежей
overdrive
 
Регистрация: 26.01.2012
Сообщений: 7

Доброго времени суток!

Использую ЭТУ библиотеку фитингов в .dwg.
БОльшая часть файлов сохранена в дюймах. Приходится вручную открывать каждый файл перед использованием и сохранять его в мм (_units). Это достаточно муторно. Вынужден переименовывать файлы и использовать суффиксы в именах. У меня уже накопилась кучка файлов с измененными единицами, но хочется автоматизировать процесс. Конечно, можно качать модели отсюда, но по одной, и это уж точно не быстрее, чем изменить ед-цы измерения.

Вопрос:
Как мне массово изменить единицы измерения группы файлов?

С автокадовыми скриптами, к сожалению, не дружу.
Просмотров: 3437
 
Непрочитано 03.03.2014, 10:56
#2
Кулик Алексей aka kpblc
Moderator

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


overdrive, ты уверен, что вопрос должен быть не в ветке "Программирование" или "Поиск исполнителей"?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 03.03.2014, 10:58
#3
overdrive


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


Нет, не уверен. Если нужно переместить, прошу модераторов это сделать.
overdrive вне форума  
 
Непрочитано 03.03.2014, 12:51
#4
Valery Brelovsky

Инженер дорожник
 
Регистрация: 22.10.2007
Израиль
Сообщений: 1,859


Для Автокада использую макрос, который при сохранении выставляет нужные мне настройки файла в том числе и еденицы "^C^C_INSUNITS 0;" в данном случае без едениц.
^C^C_INSUNITS 0; ^C^C_dimscale 0; ^C^C_DIMALTF 25.4; ^C^C(if (not C:EXPLODEALLPROXY) (arxload "ExplodeProxy2013.arx")) _EXPLODEALLPROXY;_REMOVEALLPROXY;_AUDIT;_Y; ^C^C_qsave;
Может где что и не правильно но результат меня устраивает.
Valery Brelovsky вне форума  
 
Непрочитано 03.03.2014, 13:11
1 | #5
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,992


overdrive, Если ты пересохраняешь в мм только чтобы не менялся масштаб при вставке, то просто отключи (можно на время) INSUNITS. Переменные INSUNITSDEFSOURCE и INSUNITSDEFTARGET

Код:
[Выделить все]
(if (getvar "INSUNITSDEFSOURCE")(setvar "INSUNITSDEFSOURCE" 0))
(if (getvar "INSUNITSDEFTARGET")(setvar "INSUNITSDEFTARGET" 0))
Valery Brelovsky, В ранних версиях Автокада (на поздних не тестировал) наблюдал, что если INSUNITS=0, а в настройках INSUNITSDEFSOURCE и INSUNITSDEFTARGET не 0, то все равно было масштабирование. Для перестраховки добавил бы в твой макрос еще и обнуление этих переменных
Миниатюры
Нажмите на изображение для увеличения
Название: insunits.png
Просмотров: 70
Размер:	122.3 Кб
ID:	123511  
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 03.03.2014, 13:31
#6
overdrive


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


Попробовал. Если выставить INSUNITS, INSUNITSDEFSOURCE и INSUNITSDEFTARGET =0, то вставляет "дюймовый" блок как мне нужно, но блок все равно остается в дюймах. Мне это не удобно. Хотелось бы иметь базу в ММ или unitless, и не заморачиваться в дальнейшем с масштабами и единицами измерений.
overdrive вне форума  
 
Непрочитано 03.03.2014, 13:45
#7
Valery Brelovsky

Инженер дорожник
 
Регистрация: 22.10.2007
Израиль
Сообщений: 1,859


Цитата:
Сообщение от VVA Посмотреть сообщение
Valery Brelovsky, В ранних версиях Автокада (на поздних не тестировал) наблюдал, что если INSUNITS=0, а в настройках INSUNITSDEFSOURCE и INSUNITSDEFTARGET не 0, то все равно было масштабирование. Для перестраховки добавил бы в твой макрос еще и обнуление этих переменных
Спасибо добавил!
Проверил обнуляет. Теперь выглядит так.
^C^C_INSUNITS 0; ^C^C_INSUNITSDEFSOURCE 0; ^C^C_INSUNITSDEFTARGET 0; ^C^C_dimscale 0; ^C^C_DIMALTF 25.4; ^C^C(if (not C:EXPLODEALLPROXY) (arxload "ExplodeProxy2013.arx")) _EXPLODEALLPROXY;_REMOVEALLPROXY;_AUDIT;_Y; ^C^C_qsave;
Valery Brelovsky вне форума  
 
Непрочитано 03.03.2014, 13:59
#8
Кулик Алексей aka kpblc
Moderator

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


Без проверки. Код должен сделать все блоки в файле "безразмерными". Ну и заодно переменные обнуляет
Код:
[Выделить все]
 (vl-load-com)

(defun tt (/ adoc)
  (vla-startundomark (setq adoc (vla-get-activedocument (vlax-get-acad-object))))
  (foreach item '("insunits" "insunitsdefsource" "insunitsdeftarget")
    (setvar item 0)
    ) ;_ end of foreach
  (vlax-for blk_def (vla-get-blocks adoc)
    (if (and (equal (vla-get-islayout blk_def) :vlax-false)
             (equal (vla-get-isxref blk_def) :vlax-false)
             ) ;_ end of and
      (vla-put-units blk_def acunitless)
      ) ;_ end of if
    ) ;_ end of vlax-for
  (vla-endundomark adoc)
  (princ)
  ) ;_ end of defun
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Массовое изменение единиц измерения чертежей

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Unit Composer - универсальный переводчик единиц измерения. SergeyAB Готовые программы 84 16.03.2013 15:24
Перевод единиц измерения, перевести из кН/м в тонны! amaryliss Прочее. Архитектура и строительство 24 05.04.2012 16:45
подскажите с пересчётом единиц измерения объёма природного газа ReD_EviL[78rus] Разное 16 21.10.2011 12:52
Перевод единиц измерения из британской системы в метрическую в Civil 3d 2008 666 Вертикальные решения на базе AutoCAD 8 23.05.2010 13:05
Конвертация единиц измерения чертежа nL.dr AutoCAD 26 24.12.2008 17:06