Как исправить сброс значения в свойстве динамического блока

Автор Тема: Как исправить сброс значения в свойстве динамического блока  (Прочитано 13242 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AtomohodАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
Здравствуйте!

Столкнулся с проблемой: есть динамический блок со списком предустановленных значений и возможностью задания произвольного значения для того же свойства, при этом Lookup переключается в значение Custom. При вставке в другой чертеж где уже есть такие блоки, значение установленное в свойстве блока не сохраняется и сбрасывается до произвольного из предустановленного списка выбора.
Как можно исправить такое поведение? Я пока не догадался.


Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Вопрос задан в правильном разделе форума?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AtomohodАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
Вопрос задан в правильном разделе форума?
Нужна идея для кода - таких блоков много и править руками очень трудоемко, кроме того сбрасываемые значения разные-как их потом контролировать.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Как вставляются блоки в чертеж? Вручную и программно?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AtomohodАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
Как вставляются блоки в чертеж? Вручную и программно?
Руками - либо ctrl+c либо, через copy в самом Автокаде

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Atomohod,
Тогда я не понимаю каким образом сбиваются значение Lookup. При таком копировании внутри одного чертежа проблем в принципе быть не должно, а при копировании из другого чертежа проблема может возникнуть если с одним именем имеются не 100% идентичные блоки.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AtomohodАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
Тогда я не понимаю каким образом сбиваются значение Lookup.
Они не совсем сбиваются - допустим в блоке есть предустановленный набор ширин 500,600,700 и не заблокирована возможность ввода в поле произвольного значения ширины. Пользователь его пишет вручную, например 750 - в его чертеже все нормально. Потом этот блок приходит в сводный чертеж где уже есть точно такие блоки и вот тут его значение сбрасывется на какое-то из предустановленных в Loookup'e. То есть значение не из LookUp вообще исчезает. Вот в чем проблема.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Atomohod,
Давай пример двух таких чертежей. Оставь в них по одной-две вставки таких блоков. Я на досуге посмотрю.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AtomohodАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Atomohod,
Я посмотрел чертежи - если есть одноимённые блоки, то именно так оно и работает. Так что тебе перед вставкой следует переименовывать блоки в сводном чертеже. Или пользоваться внешними ссылками, что правильнее.
Альтернативный вариант - програмно менять параметры динамического блока.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AtomohodАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
Я посмотрел чертежи - если есть одноимённые блоки, то именно так оно и работает
Можно подробнее-в чем причина такого поведения? Может нужно как-то по хитрому создавать блоки?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Можно подробнее-в чем причина такого поведения? Может нужно как-то по хитрому создавать блоки?
Тут я не подскажу. Что мне сразу не понравилось - это то, что чертежи сохранены в формате AutoCAD 2004. Динамические блоки в AutoCAD появились только в версии 2006 (формат dwg-файла как у AutoCAD 2004). Вполне возможно, что причина в этом.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн AtomohodАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
сохранены в формате AutoCAD 2004
Конвертировал в 2007 - не помогло. Такой формат стандарт предприятия - тут я бессилен. Можете подсказать где можно почитать чем один формат лучше другого по версиям Автокад? Может попытаюсь объяснить начальству. Пока я не знаю какой лучше.

Оффлайн AtomohodАвтор темы

  • ADN OPEN
  • ****
  • Сообщений: 453
  • Карма: 1
Альтернативный вариант - програмно менять параметры динамического блока.
А в какой момент-перед вставкой блока? Но пользователь вставляет его руками когда захочет. В чем суть подхода, что нужно сменить?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Можете подсказать где можно почитать чем один формат лучше другого по версиям Автокад?
Работать нужно с той версией dwg-файла, в которой по-умолчанию сохраняет установленная версия AutoCAD. Если версии AutoCAD разные, то нужно выбирать формат сохранения младшей. Если вы действительно до сих пор используете AutoCAD 2004...2006, то это единственная причина по которой следует сохранять в формате dwg-2004. Но тут я вам не помогу.

Из спортивного интереса я создал пустой файл и скопировал в него по очереди блоки с Lookup = Custom. Всё скопировалось нормально с сохранением Distance:



Проверял в AutoCAD 2020 со всеми обновлениями - в более ранних проверять нет смысла, т.к. если и был когда-то баг, то он уже исправлен.
Такое чувство, что начинка (не примитивы, а динамическая часть) у блоков Passage в твоих двух файлах разная.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение