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

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

Вопрос такой образовался отчего у ни разу не сохранявшегося документа

ThisDrawing.Name= ThisDrawing.FullName

очевидно, что

ThisDrawing.Name должно быть равно имени чертежа, а

ThisDrawing.FullName пустое значение...

офф блин косячите на ровном месте

 

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

и вдогон..

отчего у ни разу не сохранявшегося чертежа 

ThisDrawing.Name=Без имени0    

а у сохранявшегося

ThisDrawing.Name=Без имени0.dwg

Вопрос к тому: это осмысленное решение идти своим путем, или опять накосячили?

Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, doctorraz сказал:

 

отчего у ни разу не сохранявшегося чертежа 

ThisDrawing.Name=Без имени0    

а у сохранявшегося

ThisDrawing.Name=Без имени0.dwg

Вопрос к тому: это осмысленное решение идти своим путем, или опять накосячили?

а это как раз достаточно логично. до сохранения - неизвестно, в каком формате его будут сохранять (может, в dxf?). соответственно, расширение появляется только после сэйва.
для сравнения - открываем новый файл в пэйнтбраше - он просто Untitled. а расширение приклеивается после сэйва в зависимости от.
 

Ссылка на сообщение
Поделиться на другие сайты
6 минут назад, Lion007 сказал:

это как раз достаточно логично

Убедил, значит своим путем..

А с FullName что?

Я пока конечно костылик подставил..

Без разницы на что проверять ="" или  like "*\*"

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

а с фулнэймом... фиг его знает, скорее всего это по принципу "ответили, что знаем" :)
а что, где-то написано, что он должен быть пустой?

Ссылка на сообщение
Поделиться на другие сайты
35 минут назад, Lion007 сказал:

а что, где-то написано, что он должен быть пустой?

Ты жэж сам выше написал.. пока файл не сохранен хоть раз расширение неизвестно и это логично..

С какой стати по этой логике должен быть полный путь-полное имя?

Иль крест снять или трусы надеть..

Нанодев определиться надобно)))

Кстати я не заморачивался, как с этим в других программах.. блокноте, пэйнте.. 

Но имха пока хоть раз не сохранили, fullname еще как бэ нет

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

Ты жэж сам выше написал.. пока файл не сохранен хоть раз расширение неизвестно и это логично..

С какой стати по этой логике должен быть полный путь?

Иль крест снять или трусы надеть..

Нанодев опредеоиться надобно)))

Кстати я не заморачивался, как с этим в других программах.. блокноте, пэйнте.. 

тут как раз все просто... я не возьмусь утверждать, что это правильно - но просто :)
фулнэйм (идеологически) это путь + имя + расширение. пути и расширения до первого сохранения нет (читай - они пустые). а имя есть. вот собственно, и все...
 

Ссылка на сообщение
Поделиться на другие сайты

Офф Я не топлю за то что чтото должно быть сделано так или иначе, но

Немного поковыряв ActiveX нано у меня создается стойкое ощущение какойто его  гаражности кустарности.. типа  на коленке наваяли, раскрасили в яркие цвета отполировали и продают.. импортозамещение под именем nanoCAD.

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

Я сегодня пять раз (5 !!!)) пытался вставить из одного файла в другой, четыре файла внешней ссылки, через буфер вин.. каждый раз что нана 20.1, что 21 падал и вис ..

В автокаде эта операция за раз.. секунды и без вылетов..

 
44 минуты назад, Lion007 сказал:

не возьмусь утверждать, что это правильно -

Ну ежели никто не знает, как правильно, пусть менеджеры отдадут приказ сделать, как сделали до них те кто знают, как нада....

 

добавлено через 5 минут
44 минуты назад, Lion007 сказал:

фулнэйм (идеологически) это

Это адрес файла на диске..

Который однозначно идентифицирует файл в системе..

Типа фио прописка и паспортные данные..

Без всего этого бомж

Т.е. пока на диск не записан, файла нет. Нет и полного пути к тому чего нет.

Имя есть а пути нет, к тому чего нет)))

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

в продолжение разговора

(setq dn_old (getvar "dwgprefix"))
(setq dn (getvar "dwgname"))

у сохраненного и ни разу не сохранявшегося файла разные

вернее у ни разу не сохранявшегося файла dwgprefix и dwgname пустые

 

Ссылка на сообщение
Поделиться на другие сайты

По-хорошему, лучше реализовывать такого рода фичи в привычном ключе, особенно в связи с наличием аналога.

Но, строго говоря, эти переменные относятся только к сессии редактирования, непосредственно не затрагивая при этом содержимого файла.

Следовательно, разработчик может самостоятельно выстраивать алгоритм их заполнения, не нарушив при этом структуры DWG (за что собственно и подписывался всегда нанософт).

Ну и до кучи: в справке к АС

Спойлер

image.png.047b8866daa273ba67c831835bd9dd35.png

 

Похожая тема и по другим переменным. 

Т.е. AC не заморачивается с подробным описанием таких переменных, что, предполагаю (!!!!),  позволяет использовать их достаточно в вольном стиле

Ссылка на сообщение
Поделиться на другие сайты
1 час назад, EdwardSt сказал:

позволяет использовать их достаточно в вольном стиле

и чему мог бы быть равен dwgprefix  ни разу не сохранявшегося файла? Есть варианты?

1 час назад, doctorraz сказал:

вернее у ни разу не сохранявшегося файла dwgprefix и dwgname пустые

это , как раз норма (С)

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

В 20.05.2021 в 08:46, doctorraz сказал:

Вопрос такой образовался отчего у ни разу не сохранявшегося документа

ThisDrawing.Name= ThisDrawing.FullName

вопрос в этом, как так то?

 

Спойлер

image.png.c5049f9288ae934bb7a4130912ff37eb.png

Спойлер

image.png.5770accbfcfb4ec3cd81cc6319808a67.png

а ThisDrawing.Name="Без имени4"

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

чему мог бы быть равен dwgprefix  ни разу не сохранявшегося файла? Есть варианты?

 

В справке этого нет.

На форумах нашел посты, где говорят, что у такого файла указывается  каталог документов пользователя, путь к которому хранится в переменной MYDOCUMENTSPREFIX. Пустые значения - разумный вариант, возможно самый логичный, но один из.

Отсутствие однозначности в официальной справке, собственно, и позволяет говорить о вольном использовании такой переменной.  

 

5 минут назад, doctorraz сказал:
В 20.05.2021 в 08:46, doctorraz сказал:

Вопрос такой образовался отчего у ни разу не сохранявшегося документа

ThisDrawing.Name= ThisDrawing.FullName

вопрос в этом, как так то?

Ну а это (объектная модель приложения) вообще полностью является собственностью разработчика. ИМХО.

Реализовано у них так.

Они отвечают только за корректную поддержку формата DWG.

А движок, частью которого является объектная модель, может быть абсолютно любым.

 

Тем не менее, повторюсь: я - за максимальное следование в реализации фич уже наработанному в аналоге функционалу. И только собственные оригинальные (с точки зрения пользователя) наработки могут быть реализованы в своем ключе без оглядки на супостата.

Ссылка на сообщение
Поделиться на другие сайты
В 20.05.2021 в 08:46, doctorraz сказал:

Вопрос такой образовался отчего у ни разу не сохранявшегося документа

ThisDrawing.Name= ThisDrawing.FullName

Спойлер

image.png.ec65cac02fed8fd330b13a7b5fee7e92.png

 

Ссылка на сообщение
Поделиться на другие сайты

Тут фишка в том, у кого сколько ног, столько и правил :hooligan-no:

 

К тому де, это описание ActiveX, т.е. объектной модели АС.

Очевидно, что у NC объектная модель другая (в смысле, собственная) и полностью копировать аналог нет смысла, а использовать справку к другому продукту - тем более.

 

Для примера.

Все мы изучаем одни и те же ПДД :smajlik-prava:, но ездим, хоть и на одинаковых машинах, но чутка по-разному, в смысле стиля вождения :boyan:. А результат одинаковый - перемещение из А в Б :dance:

Проводя аналогию:

  ПДД, автомобиль, инфраструктура = формализованная компьютерная система (железо+софт);

  каждый водитель со своим стилем вождения = отдельное приложение со своей объектной моделью;         перемещение из А в Б = созданный DWG.

 

Тут 1 и 3 пункты - формализованные сущности, регламентированные внешними факторами по отношению к программе, а именно условия функционирования и результат определённого типа.

А вот 2 пункт - менее формализован. Тут разработчик вправе самостоятельно устанавливать правила.

Вот разработчики и резвятся (или ленятся).

Изменено пользователем EdwardSt
Ссылка на сообщение
Поделиться на другие сайты
В 20.05.2021 в 19:57, Lion007 сказал:

фулнэйм (идеологически) это путь + имя + расширение. пути и расширения до первого сохранения нет (читай - они пустые). а имя есть. вот собственно

ты прав

добавлено через 9 минут
9 минут назад, EdwardSt сказал:

Очевидно, что у NC объектная модель другая

Спойлер

image.thumb.png.5b44fa2e8d981041c6170076859b8e08.png

 

Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

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

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

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

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

    • От doctorraz
      При обработке именованных ячеек, споткнулся об грабельки.
      Properties объектов СПДС имеют Names  обращаясь к которым можно получать свойства
      Это все красиво работает для стандартных и прочих объектов.
      У ячейки таблицы есть Properties : Names   которое задается, как комментарий ячейки.
      Пока комментарий текст, к этому свойству можно обратиться, но если комментарий число, возникает исключение:
      Index is an interger number from 1 upto Count.
      Собственно вопрос: как это обойти/объехать? Получить свойство с   Names  integer
      PS кстати, кто такой interger ?
       
      Баг с именем интегер.dwg
    • От doctorraz
      в нано 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
      Создаст столько одинаковых ключей, сколько будет вызовов, а должен бы вызвать исключение "дублирующийся ключ"
      Руками в нане пользовательские свойства прям чистый мед править)))
    • От sandymen
      Никак не могу сообразить как сабж установить программно. Допустим после установки nanoCAD по умолчанию в новом чертеже имеем 1:100. А если надо 2:1 или 1:1 ?
×
×
  • Создать...