Jump to content

themaster

Пользователи
  • Posts

    37
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by themaster

  1. Nanocad 22.0.6068.3830 x64, сборка 6177

    Windows.

     

    582399530_.png.0dde4fe193e24172b773ae150017a989.png

    Суть проблемы: когда я нажимаю пункт "Выбр цвета...", хотя бы как на картинке выше - на экране появляется диалоговое окно "Выбор цвета":

    850773167_.png.da3df6d82313700fd0421ac51fe2496c.png

     

    Обратите внимание: фокус ввода по умолчанию не на кнопке "ОК", и даже не в поле ввода номера цвета, а на кнопке "Справка". Это неудобно. Нажать кнопку - вбить цифру - нажать Enter уже не получится, надо смотреть, тыкать мышкой и так далее. Переставьте, пожалуйста, поле ввода по умолчанию хотя бы на "ОК"?

     

    Другая проблема: у меня есть блок с атрибутами, и мне надо исправить значение атрибута. Двойным щелчком по тексту я вывожу на экран окно "Редактор атрибутов блоков":

    1794684966_.png.cbf02631d00fa4d1bdfbe18fab71d967.png

    У меня значение "MDR-20-12". Мне надо исправить на "MDR-20-24". Напрашивается комбинация клавиш: "End" -> "Backspace"-> "Backspace"->"2"->"4". Нажимаю, получаю:

    849146100_.png.1ad7df86ed03b73ee7446551fe5da746.png

    Значение стало "24MDR-20-12"! Почему? Выделенный текст в поле ввода я вижу в куче других Windows-программ (и не только Windows). Везде в этом случае по нажатию кнопки "End" выделение текста снимается, и курсор переставляется в КОНЕЦ текста.

    Здесь по нажатию этой кнопки выделение снимается, и курсор переставляется в НАЧАЛО текста!

    Чтобы всё работало, кнопку "End" надо не забыть нажать ДВА раза.

    Сделайте, пожалуйста, чтобы хватало одного нажатия, как и везде?

     

     

    • Like 2
  2. Мне надо выполнить кое-какую обработку многострочного текста.

    Пишу самую простую процедуру выбора этого самого текста:

    Option Explicit
    Public app As Nanocad.Application 'NanoCAD application global var
    Public ThisDrawing As Nanocad.Document 'Active NanoCAD document global var
    Sub my_drawing()
    Dim MTxt As AcadMText
    Dim ChoosedObject As AcadObject
    Dim Point As Variant
    Dim i As Integer
    
    Set app = GetObject("", "nanoCAD.Application") 'Connect to running nanoCAD
    app.Visible = True 'Show NanoCAD window
    Set ThisDrawing = app.ActiveDocument 'Connect to nanoCAD doc
    
    ThisDrawing.Utility.GetEntity ChoosedObject, Point, "Choose MText"
    If ChoosedObject.EntityName <> "MText" Then
    	i = MsgBox("Not an MText, vbCritical, "Wrong choose")
    Else
    	MTxt = ChoosedObject
    	' Other code
    End If
    
    End Sub
    

     

    Не могу добиться работоспособности строчки ThisDrawing.Utility.GetEntity ChoosedObject, Point, "Choose MText".

    Окно Nanocad отображается на экране, появляется запрос на выбор объекта, я выбираю этот объект - а потом VBA мне сообщает: Invalid procedure call or argument.

    Продолжение работы через On Error Resume Next не помогает: в переменной ChoosedObject не записывается ничего.

     

    Макрос пишу в редакторе VBA Microsoft Excel 2007. Nanocad 8.5

    Что тут можно сделать?

  3. Подниму тему.

    Работаю в Нанокад 8.5, проблема актуальна. В командной строке, если клацнуть по заголовку правой кнопкой, есть пункт "Скрыть":

    Button.bmp

    Вопрос: где ответная кнопка "Отобразить"? Единственный вариант, который я нашёл - сброс интерфейса с потерей всех настроек...

  4. Ладно, повторю другими словами.

    Как я писал в первом сообщении, мне постоянно приходится двигать объекты/группы на фиксированные расстояния - 10 мм, 5 мм и так далее. Выбор объектов автоматизировать никак нельзя, по понятным причинам. Но вот объекты выбраны, а дальше - я нажимаю одну и ту же последовательность клавиш:

    п (перенести)

    Enter

    10,0,0 (пока сейчас набирал это, несколько раз опечатался - рус/англ точка в разных местах, "э" вместо Enter'а, и так далее)

    Enter

    Тут меня просят ввести вторую точку, но я вместо этого нажимаю ещё раз Enter - "использовать первую точку в виде перемещения".

    Всё, конец алгоритма.

    Теперь я набил простейший файлик, и вместо всего этого набираю с клавиатуры п1 enter, что означает "вправо, на 10". Если надо на пять - набираю п5 энтер. Так же - влево л1/л5, вверх и вниз в1/н1 соответственно.

    Десять, две запятые, два нуля и всё прочее вместо меня вбивает лисп. Не знаю, кому как, мне - удобнее.

    А снаружи - да, кажется, что "под все направления и расстояния будешь лиспы писать" :-)

    В любом случае, явно обозначу благодарность пользователю doctorraz - из его примера я понял, что скобочки забыл поставить, после названия функции. Они нужны, даже если аргументов у функции нет.

  5. Может быть, вы будете смеяться, но - да, под все направления я буду писать лиспы :-)

    Собсна, моя идея в том и есть.

    Сейчас попробую поколупаться с вашими примерами. В любом случае, спасибо за ответ.

  6. Мне всё-таки кажется, не должен. Всё, что он должен сделать - вбить вместо меня в командную строку фиксированные буковки. Что двигать - знаю я (пользователь), от какой точки и куда - заложено в команде (текущее выделение, на 10 мм, использовать точку в виде перемещения). Или это делается не в виде лиспного скрипта?

  7. Всем добрый день!

    Есть у меня проблема: постоянно двигаю объекты и группы на чертеже на 10 мм вверх - вниз - влево - вправо. Ну, или на 5 мм, и так далее. Надоело мне опечатываться при наборе, порылся я в яндексе и понял, что правильный ответ - скрипт на лиспе.

    Сваял это:

     

    (defun ml
    ( command "move" "10,0,0" " " " " )
    )
    
    

     

    ml - типа, Move Left. Потом, как это заработает, нашлёпаю сколько надо всяких других Move'ов.

    Вроде, ошибиться негде - а nanocad мне постоянно дулю показывает:

     

    ошибка: неверный синтаксис DEFUN: (ML (COMMAND "move" "10,0,0" " " " "))

     

    Подскажите, пожалуйста, где я неправильный пробел поставил/убрать забыл? Час тычусь, как ёжик в тумане, и куда рыть дальше - совершенно непонятно. В примерах/образцах - простыни текста, а как мне надо, две строчки - никак не могу найти...

    На всякий случай - и файл прикладываю:

  8. Пытаюсь сваять первый простейший скрипт в Нанокаде. У меня есть объект Текст, мне нужно вместо него положить объект МТекст, на тех же координатах, того же размера и так далее. Поскольку знаю только VBA, то и писать надо Visual Basic Script.

    Первое, что мне нужно сделать - выбрать объект на чертеже.

    Открываю руководство разработчика, "Справочное руководство nanoCAD ActiveX API", нахожу там раздел 'GetEntity Method', пишу следующий текст:

     

    Dim entTxt, entMTxt
    Dim pt
    
    ThisDrawing.Utility.GetEntity entTxt, pt, "Укажите объект"
    
    if entTxt.EntityName <> "AcDbText" then ThisDrawing.Utility.Prompt "Это не текст!"
    else
    AddMText(pt, width, text)
    end if
    

     

    И, собсно, это всё, что я смог найти в справке "без посторонней помощи". Даже про AddMText я узнал из какой-то статьи в интернете. А дальше? Как установить параметры этого MText'a, тот же самый width, например? Как удалить существующий текст? Где, в каком разделе справки это искать? В ней даже объектов таких - Text,MText - нету... Куды дальше рыть?

  9. Откликаюсь на "глас народа". Только, пожалуйста, не говорите никому, что это я загрузил вам этот файл :-) Заказчику, в принципе, пофигу, но мне просто лень согласовывать передачу файла через десяток начальников, ни один из которых не понимает, нафиг это надо - да и не хочет понимать.

    Кстати, так и не сообразил, как загружать файл в медиа-библиотеку на сайте :-( Пришлось ваять ссылку на мой Яндекс-диск...

  10. Только что осилил одну проблему, съевшую у меня кусок нервов.

    Технологи мне постоянно передают схемы, сделанные в автокаде. У них стоит масштаб 1:100, и трубопроводы маркируются многострочным текстом - поверх линии сидят две-три буковки. И они - МТЕКСТ, а не ТЕКСТ, чтобы можно было затенить линию под текстом.

    В настройках их Автокада указано делать все МТЕКСТы одной колонкой динамической ширины. У них так принято, не мне это менять.

    А потом файл схемы приходит ко мне. Я открываю файл в Нанокаде, он мне всё отображает - и даже не заикается о наличии какой-то ереси под названием "колонки", которую он - не могёт.

    Дальше - я обращаю внимание на масштаб. В схеме 1:100, а мне удобнее - 1:1. Поэтому я выделяю всё и масштабирую в 0,01 раза. Нанокад резво всё делает - и, опять же, даже не заикается об этих колонках. Которые, очевидно, остались неотмасштабированными.

    Дальше я закрываю и сохраняю файл. И тут Нанокад понимает, что вот в этом крошечном МТЕКСТе размером пять на десять миллиметров сидит некая хрень в триста миллиметров шириной, которая внутри него - ну никак не помещается. Не знаю, чё он там ещё себе думает, но в результате все несколько сотен МТЕКСТов не только разлетаются в ширину на сотни миллиметров - они ещё и в стороны съезжают, на какую-то непредсказуемую величину порядка, опять же, сотен миллиметров! И всё это - совершенно тихо, без единого слова или намёка.

    А на следующий день я открываю файл - и вижу чудесную картину: все МТЕКСТы схемы разлетелись с чертежа кто куда, весь чертёж перечёркнут стопиццот раз затенением пересекающихся МТЕКСТов, и как их собирать - совершенно непонятно. Нет, их можно ручками вернуть на место, уменьшить ширину до разумных пределов... А на следующий день обнаружить, что всю работу надо начинать сначала. И - повторяю и обращаю внимание: нигде, ни малейшего намёка на причину сего безобразия!

    Вот такая картина вырисовывается. Лечение - открыть в автокаде, выделить все МТЕКСТы, назначить всем "нет колонок", сохранить И только потом - масштабировать.

    Соответственно - рекомендация: если уж Нанокад не умеет эти колонки и непонятно, когда научится - пусть хоть предупреждает, что ли! В идеале - с предложением нескольких вариантов:

    - убрать всё нафик, сделать в одну колонку и посмотреть чё получится;

    - оставить всё как есть в надежде, что и так сойдёт;

    - убиться ап стену сделать что-нибудь ещё...

    Надеюсь, кому-нибудь будет полезно.

    • Like 2
  11. Наверное... Там масштаб стоял 1:100, вот и получился текст в 2,5 и в 5 миллиметров.

    Кто-нибудь из знатоков, может, сможет подсказать, как отредактировать МТЕКСТ во внешнем редакторе? Есть всякие коды форматирования, которые сильно портят жизнь... Если бы их можно было удалить внешним редактором - жить было бы гораздо проще.

  12. Разбить-то я и сам умею... Я вот думаю, может быть, что-то можно сделать с самим текстом? Убрать столбцы, например...

    В свойствах объекта содержимое следующее:

    \pxqc;{\W0.9;Локальные очистные сооружения \Pповерхностного стока}

    Может быть, если убрать мусор сначала (\pxqc;{\W0.9;), то многострочный текст будет вести себя по-человечески?

    Просто я всякий раз привожу размеры текста в божеский вид, а после операций "сохранить-закрыть-открыть" - всё возвращается обратно.

    Разобрался: дело явно в столбцах. Осталось понять, как их убрать. В Автокаде - понятно, а вот где соответствующая кнопочка в Nanocad'е?

  13. Жил-был файл некоей технологической схемы в масштабе 1:100. Схема нарисована в пространстве модели, на расстоянии метров тридцати от точки "0". Я смасштабировал схему (уменьшил в 100 раз), затем - заменил рамочку-форматку на блок с многострочными текстами (просто текстами, не атрибутами!), а потом - передвинул всё поближе к точке "0" (так удобнее работать). Сохранил, закрыл, открываю - а многострочные тексты почему-то уехали на те самые 30 метров!

    Можно зайти в редактор блоков, отредактировать расположение этих текстов - и они вернутся на родину. Потом я сохраняю файл, закрываю его, открываю снова - и тексты опять уехали чёрти-куда! Что с этим можно сделать?

     

    Файл здесь: ProblemFile.dwg

    Версия Nanocad: 5.1.2524.1471

    Сборка: 2017

    Файл сохранён как Autocad 2010

  14. Посмотрел. "здесь" написано: чтобы не ругался на отсутствие шрифтов, запиши их куда надо. Записал. Не ругается. Но - отображает кракозяблами. Причём везде (в текстах, в выносках, может, ещё где-то) - отображает нормально, а вот в неразбитой таблице - кракозяблами. Вопрос: лечится ли это?

  15. Использую Nanocad 3.7. Также в организации используется Autocad 2006/2009. Рисую файлы в нанокаде, при попытке открыть в автокаде сообщает об отсутствии файла GOST 2.303-68.shx. Если отказаться от его поиска, то файл открывается, хоть и без шрифтов.

    Сегодня нашёл этот файл, скопировал его в папку автокада. Шрифты появились, но слетела кодировка, причём не везде, а только в таблицах. Все русские надписи отображаются кракозяблами. В принципе, её можно разбить, и всё появляется... Поиск по форуму по ключевому слову "Кодировка" результатов не дал. Может, я плохо искал? Что делать в такой ситуации? Можно ли как-нибудь починить кодировку в таблице Nanocad? Штука вообще-то мегаудобная...

  16. Присоединяюсь к вопросу о добавлении функциональности. Насколько сложно реализовать такую возможность? У нас тут начальство помаленьку раздумывает, а не перейти ли на САПР посовременней (а то пользуемся Autocad'ом 2006 и 2009 года) - так Nanocad выглядит вполне достойной заменой. За исключением нескольких досадных мелочей, одна из которых - поля. Другая, кстати - функция АТРОБНОВИТЬ. Но её, наверное, можно реализовать ручками? Наваять какой-нибудь простенький макрос, который будет пробегаться по вхождениям выбранных блоков, удалять их и вставлять заново... но это уже не по теме - как говорится, off-topic.

  17. В инструкции к Nanocad 4 СПДС гордо написано следующее:

    "Командная строка: CONVERTTABLE

    Команда предназначена для конвертации таблиц AutoCAD в таблицы nanoCAD, с возможностью дальнейшего редактирования средствами nanoCAD и наоборот" (выделение моё).

    Чуть ниже:

    "При конвертации таблицы nanoCAD в таблицу AutoCAD все динамические связи разрушаются".

    Это - руководство пользователя, стр. 462. Я так понял этот кусок текста, что берёшь файл из Автокада, тыкаешь таблицу Автокада, жмёшь кнопку - получаешь таблицу Нанокада со всеми плюшками и наворотами действительно хорошего табличного редактора.

    А потом - можно тыкнуть в таблицу Нанокада (в смысле, выделить её), нажать ту же самую кнопку - и она преобразуется обратно, в таблицу Автокада, пусть и с потерями наворотов и дополнительной функциональности.

    Попробовал. Туда - всё в порядке, красиво и радостно. Обратно - никак. Может, чтобы перегнать обратно, надо нажать какую-нибудь другую кнопку? Или вопросами перегона обратно вообще никто не заморачивался? Судя по инструкции - должно ж работать!

    На всякий случай, прилагаю файл таблички, которую я смог перегнать "туда" и не смог - "обратно"

    Табличка.dwg

    Табличка.dwg

    • Like 1
  18. В Автокаде довольно часто пользуюсь командой ИзмеритьГеом. Суть следующая: есть, допустим, кабельная трасса, проложенная по территории, надо измерить её длину. Тыкаешь мышкой в начало трассы, потом - в следующую точку - и тебе в командной строке доступна длина первого сегмента. Затем тыкаешь в следующую точку - к длине первого сегмента прибавляется длина второго и опять-же отображается в командной строке. Ну и так можно пройти по всему пути и в конце увидеть длину всей трассы. Точно так же можно мерять не только прямые сегменты, но и дуги. Планируется ли добавлять в Nanocad похожую функциональность? Или такая задача решается как-то по-другому?

    Следующий вопрос: очень понравилось, как Nanocad рисует выноски по ГОСТу. Но - предлагается только две строчки. А если мне болтовое соединение обозначить надо, там уже три строчки требуется. Можеть быть, эта задача решается в специализированных версиях Nanocad'а?

  19. Проблема (возможно, баг). Поставил нанокад дома, на старый-старый целерон, ещё на 478 сокете. Видеокарта - радеон какой-то там, ещё AGP. Ось WinXP 32 SP3. Встал как влитой, работает достаточно шустро, порадовал функционалом, вполне достаточным для полноценной работы. Ну всё, думаю, буду на работе на него переползать.

    Принёс на работу, там машинка пошустрее: четырёхядерник от Intel (Core i7, если не ошибаюсь), вагон оперативки, но - неважно. Важно, что видео там - NVidia GeForce 9600, и, кажется, GT. И ось - Win 7 x64. Так вот, нанокад встал без проблем, запустился... тока экран не обновляется. Провожу по нему окном - наблюдаю симпатичную черепицу от границ окна, кладу поверх него проводник и переключаюсь обратно в нанокад - кусок "проводничного" окна никуда не делся. Причём всякие кнопочки-менюшки обновляются без проблем. Обновление не работает только на куске экрана, который отображает пространство черчения. Ну, где линии да окружности должны появляться всякие. Удаляю лист из списка листов - удаляется без проблем. В обчем, работает всё, кроме этого самого обновления.

    Причём та же самая фигня была, когда я работал на той же машине с монструозным чудищем по имени Tekla Structures. Там тоже работало всё, кроме обновления "рисовательной" части экрана. Проблема была решена установкой галки "SOFTWARE RENDERING" - жестоко, а чо делать? по-другому никак не получилось. Так что, возможно, проблемы с дровами на видео. Они стоят последней версии, от NVIDIA (ось была установлена в феврале месяце этого года, тогда же - и дрова, больше не обновлялись). Посему - хочется верить в их "правильность", что ли? Вдруг программа таки заработает с ними, а это просто я чего-то забыл?

×
×
  • Create New...