Однако ни переменных, ни свойств DIMMZF, DIMMZS, DIMALTMZF, DIMALTMZS не существует.Есть начиная с AutoCAD 2010 (в документации не нашел):
Command: DIM
Dim: dimmzf
Enter new value for dimension variable <100.0000>: 100
Dim: exit
Command: SETVAR Enter variable name or [?]: dimmzf
Unknown variable name. Type SETVAR ? for a list of variables.
Ну и если всё резюмироватьВсе три вопроса?
По первому вопросу я так и не понял почему ты решил, что у тебя будет значение 0.25Я же там объяснил почему:
В диалоговом окне "Lineweight Settings" в качестве Default назначено 0.25 mm.Т.е. LWDEFAULT == 0.25.
Или ты думаешь, что если изменишь значение веса линии по-умолчанию, и он сразу изменится в окне размерного стиля?Я наблюдаю несколько различное поведение в AutoCAD 2009 и 2015 по данному вопросу.
В данном случае Default и ByBlock скорее всего одинаковы.Нет, не одинаковы. ByBlock равен -2 и указывает на то, что толщина линии должна каждый раз считываться из толщины линии, назначенной блоку, в состав которого входит примитив. Значение -3 указывает на то, что значение нужно каждый раз считывать из переменной LWDEFAULT.
Я наблюдаю несколько различное поведение в AutoCAD 2009 и 2015 по данному вопросу.Я смотрел как это работает в AutoCAD 2015.
Если опции Lineweight назначить значение Default, то в DIMLWD будет сохранено именно значение -3, а не скопировано то значение, которое хранится в LWDEFAULT.Ты сейчас про свой код или про диалоговое окно? У меня (в 2015) при изменении в диалоге сохраняется в DIMLWD размерного стиля не -3, а то значение, которое в LWDEFAULT
Вариант 2 (меняю значение переменных DIMLWD и DIMLWE в консоли AutoCAD):Это ты меняешь значения для Database, но не для текущего размерного стиля. Согласен, что Autodesk'овцы с этим перемудрили.
Согласен, что Autodesk'овцы с этим перемудрилиЯ бы скорее назвал это багом реализации: нелогичность поведения - это одна из разновидностей багов. Логичным поведением было бы то, которое я обозначил выше в резюме, причём это поведение я не с потолка взял, но, если мне не изменяет память, вычитал в документации Автодеска. Т.о. налицо некоторое несоответствие задумки с фактической реализацией. Проблему наблюдаю в 2009-м и 2015-м (промежуточные версии не проверял, но уверен, что там будет то же самое).
Это ты меняешь значения для Database, но не для текущего размерного стиля.А что, размерный стиль у нас живёт вне базы данных чертежа? И почему это не для текущего? Эти изменения способствуют тому, что Автокад зачем-то создаёт производный (от текущего) стиль <style owerrides>. Однако этот "призрак" исчезает сразу же после выполнения следующих действий:
И почему это не для текущего?Потому что dimStyle.Dimlwd и db.Dimlwd - это разные вещи, в чем ты уже сам убедился.
Потому что dimStyle.Dimlwd и db.Dimlwd - это разные вещи, в чем ты уже сам убедился.
Database.Dimlwd Property
Accesses the current DIMLWD value for the dimension.
See the System Variables section of the AutoCAD Command Reference manual for information on DIMLWD.
DimStyleTableRecord.Dimlwd Property
Accesses the current DIMLWD value for the dimension.
See the System Variables section of the AutoCAD Command Reference manual for information on DIMLWD.
Dimension.Dimlwd Property
Accesses the current DIMLWD value for the dimension.
See the System Variables section of the AutoCAD Command Reference manual for information on DIMLWD.
DIMLWD
Assigns lineweight to dimension lines. Values are standard lineweights.
db.Dimlwd = ByBlock
style.Dimlwd = ByBlock
Меняем значение db.Dimlwd.
db.Dimlwd = LineWeight060
style.Dimlwd = ByBlock
Меняем значение style.Dimlwd.
db.Dimlwd = LineWeight060
style.Dimlwd = LineWeight035
db.Dimstyle == style.ObjectId
Выполняем SetDimstyleData.
db.Dimlwd = LineWeight035
style.Dimlwd = LineWeight035
db.Dimstyle == style.ObjectId
1. Для чего так сделано?Так сделано было еще лет двадцать назад. Почему так - это к Autodesk, если там остались люди, которые помнят зачем было сделано именно так.
2. Для чего в размерных стилях порой появляется тот самый <style owerrides>?
Когда появилась в AutoCAD возможность... Затем появились ... и они начали входить в противоречие с ... Почему не ... я не знаю. Возможно потому, что ..., возможно причина более глубокая.Наверное пора уже автодеску "Взять все и
Наверное пора уже автодеску "Взять все и поделить" переписать.Кто-то предпочитает революции, кто-то эволюции...
Кто-то предпочитает революции, кто-то эволюции...и кто-то очередную, ежегодную залепуху (забыли добавить). :)