Контроль графических объектов (корректировка изображения)
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Контроль графических объектов (корректировка изображения)

Контроль графических объектов (корректировка изображения)

Ответ
Поиск в этой теме
Непрочитано 12.01.2007, 11:20 #1
Контроль графических объектов (корректировка изображения)
yncas
 
учёба
 
Воронеж
Регистрация: 12.01.2007
Сообщений: 7

Помогите, пожалуйста. Мне дали задание написать программку на VBA для контроля значений линейных размеров. Проблема состоит в том, что я ни как не могу разобраться, в том, как отключить автоматическую корректировку в AutoCAD при изменении размеров самого измеряемого элемента. Возможно есть какойто режим, или системная переменная отвечающая за это? Можно ли разрешить пользователю изменять поле значения размера (Measurement)?

Извините, если я не корректно выражаюсь, я пока ноль в автокаде.
Заранее благодарю за ответ.
__________________
"Я ни о ком не буду говорить плохо, но расскажу всё хорошее, что знаю о каждом". Б. Франклин
Просмотров: 3873
 
Непрочитано 12.01.2007, 11:38
#2
Кулик Алексей aka kpblc
Moderator

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


системную переменную dimassoc поставить в 1 - тогда размеры будут неассоциативными. Для снятия "связки" размеров и примитивов используй команду _dimdisassociate
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 12.01.2007, 11:48
#3
yncas

учёба
 
Регистрация: 12.01.2007
Воронеж
Сообщений: 7


Подскажите пожалуйста, а как поставить dimassoc в 1
__________________
"Я ни о ком не буду говорить плохо, но расскажу всё хорошее, что знаю о каждом". Б. Франклин
yncas вне форума  
 
Непрочитано 12.01.2007, 12:06
#4
Кулик Алексей aka kpblc
Moderator

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


Если из-под VBA, то
Код:
[Выделить все]
ThisDrawing.SetVariable "dimassoc", 1
Вроде так.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 12.01.2007, 12:13
#5
yncas

учёба
 
Регистрация: 12.01.2007
Воронеж
Сообщений: 7


Мне бы в автокаде. Значение устанавливается с помощью команды или где то в меню?
__________________
"Я ни о ком не буду говорить плохо, но расскажу всё хорошее, что знаю о каждом". Б. Франклин
yncas вне форума  
 
Непрочитано 12.01.2007, 12:26
#6
Кулик Алексей aka kpblc
Moderator

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


Я понимаю, что кто-то кого-то путает.
Цитата:
<...>Мне дали задание написать программку на VBA <...>
Цитата:
<...>Мне бы в автокаде. <...>
Так что надо в результате?
Если в autocad'e, то _options -> User preferences -> Make new dimensions associative снять галку.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 12.01.2007, 12:26
1 | #7
Кочетков Андрей

Java/Kotlin/Go
 
Регистрация: 03.02.2006
Сообщений: 5,786


Просто в командной строке набрать dimassoc потом 1.

Но лучше как Крыс сказал: прогаммно снять ассоциацию, а по завершении программы (корректном и не корректном) вернтуть все в зад.
Кочетков Андрей вне форума  
 
Автор темы   Непрочитано 12.01.2007, 12:31
#8
yncas

учёба
 
Регистрация: 12.01.2007
Воронеж
Сообщений: 7


Извините за глупый вопрос, я разобрался.
Подскажите, а можно разрешить изменения значения поля Measurement (значение линейного размера) или можно его изменять каким то другим образом?
__________________
"Я ни о ком не буду говорить плохо, но расскажу всё хорошее, что знаю о каждом". Б. Франклин
yncas вне форума  
 
Непрочитано 12.01.2007, 12:40
#9
Кулик Алексей aka kpblc
Moderator

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


Нет. Из справки:
Цитата:
Measurement Property
Gets the measurement for the dimension.
Signature
object.Measurement
object : Dim3PointAngular, DimAligned, DimAngular, DimDiametric, DimOrdinate, DimRadial, DimRotated
The object or objects this property applies to.
Measurement : Double; read-only
For linear dimensions this is a length, for angular dimensions it is an angle.
Добавлено:
Смотри TextOverride
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 12.01.2007, 12:42
#10
yncas

учёба
 
Регистрация: 12.01.2007
Воронеж
Сообщений: 7


Цитата:
Сообщение от kpblc
Я понимаю, что кто-то кого-то путает.
Цитата:
<...>Мне дали задание написать программку на VBA <...>
Цитата:
<...>Мне бы в автокаде. <...>
Так что надо в результате?
Если в autocad'e, то _options -> User preferences -> Make new dimensions associative снять галку.
Извините, просто согласно заданию (если я его правильно понял) я должен с помощью модуля написанного на VBA корректировать размер элемента (проверять его соответствие реальному), но AutoCAD и сам это умеет делать. Наверно я не понимаю задания либо его смысла.

Тема звучит так: Контроль графических объектов (автоматическая корректировка изображения).
__________________
"Я ни о ком не буду говорить плохо, но расскажу всё хорошее, что знаю о каждом". Б. Франклин
yncas вне форума  
 
Непрочитано 12.01.2007, 12:48
#11
Кулик Алексей aka kpblc
Moderator

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


Гхм... У меня подобных тем - немеряно. И в каждой расшифровки еще листов на 10 печатного текста.
Толкований темы может быть несколько: привести размеры к стандартному виду (то есть снять переопределение); изменить геометрию примитивов в соответствии с проставленными размерами (как опция - установить размеры в "реальное" значение). Полностью задачи не видно. Сильно подозреваю, что на самом деле там третье толкование
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 12.01.2007, 12:58
#12
yncas

учёба
 
Регистрация: 12.01.2007
Воронеж
Сообщений: 7


kpblc
Большое Вам спасибо за помощь. Я разобрался благодаря Вам в тех вопросах которые меня интересовали. Если это возможно, я был бы очень благодарен за фрагмент кода изменения геометрии примитивов.
__________________
"Я ни о ком не буду говорить плохо, но расскажу всё хорошее, что знаю о каждом". Б. Франклин
yncas вне форума  
 
Непрочитано 12.01.2007, 13:11
#13
Кулик Алексей aka kpblc
Moderator

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


Если б он был, этот код... Там же все варианты надо предусматривать А это мне нереально сделать. Если для простых примитивов (типа дуги, окружности, отрезка) это в общем-то несложно (по крайней мере теоретически), то для полилиний, например, надо уже капитально подключать голову на предмет анализа.
И это еще не все. Что делать, если в одной опорной точке размера находится 2 или больше примитивов? К которому из них относится этот размер? А если размер оканчивается "где-то там", и продолжение его - "ну это ж очевидно" (маленькое уточнение - очевидно человеку). А если размер заканчивается на нехарактерной точке (например, выровненный размер до касательной к окружности)? Это я еще не упомянул о вариантах немировой системы координат, разномасштабных блоков, внешних ссылок, скрытых xclip'ом примитивов и т.п. В общем, проблем и вопросов лично я тут вижу слишком много, чтобы можно было быстро сбацать что-то рабочее
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 12.01.2007, 16:24
#14
yncas

учёба
 
Регистрация: 12.01.2007
Воронеж
Сообщений: 7


И на этом спасибо.
__________________
"Я ни о ком не буду говорить плохо, но расскажу всё хорошее, что знаю о каждом". Б. Франклин
yncas вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Контроль графических объектов (корректировка изображения)