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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Lisp. как в civil программно прочитать единицы чертежа(метры/футы)?

Lisp. как в civil программно прочитать единицы чертежа(метры/футы)?

Ответ
Поиск в этой теме
Непрочитано 03.12.2015, 15:57 #1
Lisp. как в civil программно прочитать единицы чертежа(метры/футы)?
alexgeops
 
Регистрация: 03.12.2015
Сообщений: 13

Доброго времени суток, уважаемые коллеги. Прошу помощи. Как в civil-е программно (lisp, c# или vb) прочитать значение единиц измерения(футы/метры)? имею в виду не системные переменные insunits и т.д., а то свойство, которое отображается в окне команды EDITDRAWINGSETTINGS во вкладке "единицы измерения и зона". Заранее спасибо.
Просмотров: 2421
 
Непрочитано 03.12.2015, 16:04
#2
Кулик Алексей aka kpblc
Moderator

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


Подозреваю, что через системную переменную insunits
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 03.12.2015, 16:10
#3
alexgeops


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


нет, не через нее. это свойство (единицы измерения - метры/футы), насколько я понимаю, доступно только в civil, в чистом автокаде его нет.
alexgeops вне форума  
 
Автор темы   Непрочитано 03.12.2015, 16:15
#4
alexgeops


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


скриншот окна с этим свойством
Миниатюры
Нажмите на изображение для увеличения
Название: Снимок3.PNG
Просмотров: 66
Размер:	32.8 Кб
ID:	161559  
alexgeops вне форума  
 
Непрочитано 03.12.2015, 16:25
#5
ProPeller

Пастух
 
Регистрация: 16.07.2012
Питер
Сообщений: 318


Цитата:
Сообщение от alexgeops Посмотреть сообщение
скриншот окна с этим свойством
Обычно, если навести крусор на ниспадающий список и подождать, выскочит посказка, в которой эта переменная будет указана. Или навести курсор и нажать F1.
__________________
Автоматизация должна быть автоматической.
ProPeller вне форума  
 
Автор темы   Непрочитано 03.12.2015, 16:28
#6
alexgeops


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


Цитата:
Сообщение от ProPeller Посмотреть сообщение
в которой эта переменная будет указана
в справке про системные переменные ни слова...
alexgeops вне форума  
 
Непрочитано 03.12.2015, 16:35
#7
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от alexgeops Посмотреть сообщение
нет, не через нее. это свойство (единицы измерения - метры/футы), насколько я понимаю, доступно только в civil, в чистом автокаде его нет.
Ух ты, круто! А я и не знал и менял их в чистом ACAD...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 03.12.2015, 16:38
#8
ProPeller

Пастух
 
Регистрация: 16.07.2012
Питер
Сообщений: 318


Вот кусок из справки. Судя по всему, других переменных нет.
Цитата:
To specify Units and Zone settings

Select the Set AutoCAD Variables To Match check box to synchronize AutoCAD settings with AutoCAD Civil 3D settings. If there are no equivalent AutoCAD settings, a message is displayed asking if you want to match as closely as possible. The AutoCAD settings that are synchronized to theAutoCAD Civil 3D settings include the AUNITS, DIMAUNIT, INSUNITS, and MEASUREMENT AutoCAD system variables (sysvars).
__________________
Автоматизация должна быть автоматической.
ProPeller вне форума  
 
Непрочитано 03.12.2015, 16:38
#9
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


удивительно, но это разные значения
trir вне форума  
 
Непрочитано 03.12.2015, 16:40
1 | #10
ProPeller

Пастух
 
Регистрация: 16.07.2012
Питер
Сообщений: 318


Пальцем в небо, но вдруг поможет вот это. http://forum.dwg.ru/showpost.php?p=1478282&postcount=19
В двух словах -DWGUNITS
__________________
Автоматизация должна быть автоматической.
ProPeller вне форума  
 
Автор темы   Непрочитано 03.12.2015, 16:41
#11
alexgeops


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Ух ты, круто! А я и не знал и менял их в чистом ACAD...
буду рад узнать как. изменение системной переменной insunits не приводит к изменению значения этого параметра (см скриншот выше), равно как и изменение этого параметра не влияет на значение этой системной переменной.

Цитата:
Сообщение от ProPeller Посмотреть сообщение
Пальцем в небо, но вдруг поможет вот это. http://forum.dwg.ru/showpost.php?p=1478282&postcount=19
В двух словах -DWGUNITS
спасибо, это команда как раз позволяет поменять единицы чертежа минуя диалоговое окно, т.е. можно использовать в лиспе в виде (command "-DWGUNITS" "что-то" ....), но вот как бы прочитать это значение перед изменением? очень важно поставить пользователя в известность, если какие-то из сотен файлов в футах....

Последний раз редактировалось alexgeops, 03.12.2015 в 16:51.
alexgeops вне форума  
 
Непрочитано 03.12.2015, 17:00
#12
ProPeller

Пастух
 
Регистрация: 16.07.2012
Питер
Сообщений: 318


Цитата:
Сообщение от alexgeops Посмотреть сообщение
...но вот как бы прочитать это значение перед изменением?...
К сожалению я сам пока еще с этим не разобрался.

Вообще -DWGUNITS внедокументированная команда. Я перерыл кучу форумов, чтобы найти истину, но нигде не нашел.
__________________
Автоматизация должна быть автоматической.

Последний раз редактировалось ProPeller, 03.12.2015 в 17:10.
ProPeller вне форума  
 
Непрочитано 03.12.2015, 17:29
2 | #13
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Системной переменной нет. Всё хранится в словаре AEC_VARS
http://www.theswamp.org/index.php?topic=16554.0
Александр Ривилис вне форума  
 
Непрочитано 04.12.2015, 03:38
1 | #14
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


Возвращает: Метры - 2, Футы - 1
Код для AutoCAD Civil 3D 2014. Для других версий нужно менять "10.3" на другое значение.
Код:
[Выделить все]
 (vlax-get-property
  (vlax-get-property
    (vlax-get-property
      (vlax-get-property
	(vla-get-ActiveDocument
	  (vla-GetInterfaceObject
	    (vlax-get-acad-object)
	    "AeccXUiLand.AeccApplication.10.3"
	  )
	)
	'Settings
      )
      'DrawingSettings
    )
    'UnitZoneSettings
  )
  'DrawingUnits
)
В C# все то же самое:
Код:
[Выделить все]
CivilDocument.Settings.DrawingSettings.UnitZoneSettings.DrawingUnits
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)

Последний раз редактировалось Do$, 04.12.2015 в 03:44.
Do$ вне форума  
 
Автор темы   Непрочитано 04.12.2015, 09:22
#15
alexgeops


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


Александр, Do$, огромное спасибо! Очень выручили! ))
alexgeops вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Lisp. как в civil программно прочитать единицы чертежа(метры/футы)?

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Civil 3D. Вычисление ограниченных объемов. Lisp Disney LISP 13 27.09.2015 23:49
Изменение объектов CGLC программно (Lisp) AndruxaZ LISP 4 16.09.2014 12:45
Как в Civil 3D 2012 программно получить список файлов Data Shortcuts? Мансур Программирование 1 25.10.2013 10:41
AutoCAD Civil. Программно (COM, AutoIT) поменять путь у изображения в чертеже. ALLIGATOR_ Программирование 16 24.08.2013 18:26
Как программно (не из командной строки) установить единицы чертежа? digar Программирование 2 21.10.2010 19:29