Перейти к содержанию

Рекомендуемые сообщения

в нано 21 по сравнению с прежней версией поправили

ThisDrawing.SummaryInfo.GetCustomByKey Key1, strVal

теперь оно вызывает исключение если такого ключа нет МОЛОДЦЫ!!!

-----------------------

а на SetCustomByKey  если нет такого ключа исключений не хватило?

ThisDrawing.SummaryInfo.SetCustomByKey Key1, Value1

зачем он создает ключ, когда должен устанавливать его значение, либо вызвать исключение "Ключ не найден"

---------------------

AddCustomInfo  вообще эпик фэйл

Key1="нанодев"

Value1="косячат"

ThisDrawing.SummaryInfo.AddCustomInfo Key1, Value1

ThisDrawing.SummaryInfo.AddCustomInfo Key1, Value1

ThisDrawing.SummaryInfo.AddCustomInfo Key1, Value1

ThisDrawing.SummaryInfo.AddCustomInfo Key1, Value1

Создаст столько одинаковых ключей, сколько будет вызовов, а должен бы вызвать исключение "дублирующийся ключ"

Спойлер

image.png.05ed76bb87d9eaaaf081a3ef451bc55a.png

Руками в нане пользовательские свойства прям чистый мед править)))

Изменено пользователем doctorraz
Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

Продолжил разбираться с пользовательскими свойствами документа.

 

Спойлер

image.png.7edcdf04cca604acec1ccb8a285805ca.png

И через GUI "Свойства чертежа" поле с таким ключем не добавить.

 

Кроме этого ключ не может состоять из:

  • имя ключа не должно начинаться/оканчиваться переводом каретки vbCr ,
  • одних пробелов,
  • заканчиваться с пробелом
  • начинаться с пробела (тут опять нанокосяк, GUI даст возможность создать ключ начинающийся с пробела, т.е. нано и   нано это два разных ключа с точки зрения нано, только вот работать со вторым он не сможет, а создать пожалуйста)

-------------------

а вот через ActiveX запросто и никакого исключения сформировано не будет

Key = "\\<>/?:;*|,=`"""
val="запрещено"
objAppDoc.SummaryInfo.SetCustomByKey(Key, val)

Самый прикол, что нана дает возможность сослаться на эти свойства с "кривыми" ключами полем.. и даже, покажет значение поля... пока не зайдешь повторно в редактирование поля)))

=============

В принципе меня это не сильно парит, Regex.Replace рулит, по любому данные проверять.

Спойлер



Key = Regex.Replace(Key, "[\\<>/?:;*|,=`""]", String.Empty) 'мочим запрещенные символы   \<>/?":;*|,=`
Key = Regex.Replace(Key, " {2,}", " ").Trim() 'мочим лишние пробелы, обрезаем пробелы и vbcr

 

PS Делайте хорошо, коль беретесь, а то куда не коснись.. все обрывками какими-то, ошметками...

запрещенные символы в поле.dwg

Изменено пользователем doctorraz
нет предела совершенству
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Расскажите друзьям

    Нравится Официальный форум компании Нанософт? Расскажите друзьям!
  • Похожий контент

    • От doctorraz
      При обработке именованных ячеек, споткнулся об грабельки.
      Properties объектов СПДС имеют Names  обращаясь к которым можно получать свойства
      Это все красиво работает для стандартных и прочих объектов.
      У ячейки таблицы есть Properties : Names   которое задается, как комментарий ячейки.
      Пока комментарий текст, к этому свойству можно обратиться, но если комментарий число, возникает исключение:
      Index is an interger number from 1 upto Count.
      Собственно вопрос: как это обойти/объехать? Получить свойство с   Names  integer
      PS кстати, кто такой interger ?
       
      Баг с именем интегер.dwg
    • От doctorraz
      Вопрос такой образовался отчего у ни разу не сохранявшегося документа
      ThisDrawing.Name= ThisDrawing.FullName
      очевидно, что
      ThisDrawing.Name должно быть равно имени чертежа, а
      ThisDrawing.FullName пустое значение...
      офф блин косячите на ровном месте
       
    • От doctorraz
      Фильтр объектов (в табличном отчете) некорректно показывает найденные объекты
      Кроме этого если  сохранить шаблон фильтра
      Он доступен из "Быстрого выбора"
       
      Размеры_тб.dwg
    • От doctorraz
      Если у ячейки формат значений числовой, то например такое выражение
      =summ(section(+2)) несмотря на то, что в построителе выражений результат верный в ячейке будет ноль.
      Если поставить формат автоматический, то все нормально.
      в предыдущей нано20.1 это работало
       
       
      section число.dwg
    • От sandymen
      Никак не могу сообразить как сабж установить программно. Допустим после установки nanoCAD по умолчанию в новом чертеже имеем 1:100. А если надо 2:1 или 1:1 ?
×
×
  • Создать...