|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
27.04.2019, 09:21 | #1 | |
Существует ли JScript-редактор с автодополнением для объектной модели nanoCAD?
Инженер-философ
Хабаровск
Регистрация: 24.04.2019
Сообщений: 1,876
|
||
Просмотров: 6761
|
|
||||
Регистрация: 10.08.2013
Сообщений: 11,052
|
Шарп не может быть низкоуровневым языком хотя бы по той причине, что все операции по управлению ресурсами "спрятаны" от программиста внутри управляемого кода) А так - смотрите, на чем пишут преимущественно примеры на форумах и других ресурсах: сотни людей не могут разом ошибиться в выборе языка программирования, имхо...
|
|||
|
||||
Регистрация: 18.12.2010
Сообщений: 5,057
|
|
|||
|
||||
Инженер-философ Регистрация: 24.04.2019
Хабаровск
Сообщений: 1,876
|
Не шарп, API для шарпа низкоуровневый. Он в точности повторяет то, что накручено в ObjectARX для акада.
Я какое-то время на акаде сидел, там бейсик был - для юзера самое оно. Программирование по принципу "хочешь круг - возьми в тумбочке". А потом бейсик поломали, и все, нажитое непосильным трудом, перестало работать. То, что жальче всего было, я перевел на C++. На крестах для акада программить после бейсика - один несмешной писец. Хочешь круг - вызови менеджера транзакций. Если менеджер не пришел - поди вон. Если пришел - закажи ему транзакцию. Если не транзакция не прошла - поди вон, но сначала проводи менеджера. Если менеджер не уходит - вызови охрану. Если транзакция прошла - закажи круг. Если не вышло - закрой транзакцию. Если не закрылась - вызови охрану. Если закрылась - проводи менеджера. Если менеджер не уходит - вызови охрану. Попробуй передать круг с транзакцией на базу. Если получилось - закрой транзакцию. Если не получилось - верни круг на место. Если не получилось вернуть круг - вызови охрану. Если транзакция не закрылась - вызови охрану. Если закрылась - проводи менеджера. Если менеджер не уходит - вызови охрану. Ну и так далее. А, нет, забыл, сначала до менеджера надо через активный документ достучаться, а до документа - через приложение, и все с такими же приключениями. Где-то посередине процесса забываешь, что хотел вообще - круг или повеситься. Вот на шарпе надо делать то же самое, что на крестах, но только на шарпе. Через это отверстие пусть профессиональные программисты работают, им за такое деньги платят. Конкретно под кады, включая нанокад - вижу, в основном LISP. Про лисп могу сказать одно - увижу, того, кто такое придумал, одну скобочку на азию натяну, другую в европу затолкаю. Да, у лиспа есть преимущество - у него простой синтаксис и он не меняется, старые скрипты в новых версиях работают.Offtop: Подозреваю, дело в том, что программер-фанат, в одиночку прикрутивший лисп к автокаду, двадцать лет назад уволился, а без него теперь никто ничего тронуть не может. Offtop: Жаль, что тот программер по лиспу фанател, а не по брайнфаку, миллионы пользователей быстро бы освоили язык из всего восьми символов, и раздел программирования на формуме был бы куда веселее . Язык, предназначенный для пользователя, должен просто повторять то, что пользователь делает в программе: Код:
Да, видел. Лень регистрироваться ради одного вопроса. А тут тоже кто-то из разработчков появлялся, может, и ответит. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,052
|
Цитата:
Цитата:
один раз напишете сервисный класс на .Net и потом в коде будете делать тоже самое - типа создания слоя в одну строчку. Про то, что тот же VBA не поддерживает перегрузку конструкторов и методов - можно даже не говорить... |
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,589
|
Цитата:
|
|||
|
||||
Вообще не нужна. Прекрасно можно обойтись без неё, а в ряде случаев она только мешает. Это для AutoCAD. Для NanoCAD возможно иначе - я не в курсе.
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,052
|
|
|||
|
||||
Регистрация: 18.12.2010
Сообщений: 5,057
|
а ответ простой - vs code, только конфиг надо самому писать
|
|||
|
||||
Инженер-философ Регистрация: 24.04.2019
Хабаровск
Сообщений: 1,876
|
Offtop:
Цитата:
Цитата:
Да, точно! БэТэЭр! Как я мог про него забыть! Менеджер приезжал на БэТэЭре! И почему всего 14 строк? Где остальные - там, где 20 using-ов, дополнительное пространство имен на всякий случай, вложенный класс и метод с дополнительными параметрами? Без них ведь у меня останется незанятая кратковременная память! Да, да, да! Именно этим я и занимался, когда писал на крестах. На каждый метод ObjectARX сначала писал обертку, проверяющую код ошибки и кидающий исключения, чтобы сделать обработку ошибок как в NET - в единственном try-catch основного кода команды. А потом ловил глюки, когда выяснилось, что какой-нибудь вызов AcEdJig::sampler() роняет акад, если мое исключение пролетает мимо него. С меня хватит! Больше ни одной обертки! Ладно, шутки в сторону, я сюда за советом зашел, а не посраться. Я не программист, я - инженер. Иногда есть свободный час-другой для автоматизации в стиле "в файле от смежников переименовать слои, и перенести в блоках содержимое в слой 0" и т.п. Если на одну полезную строку кода типа "сделать круг" надо писать двадцать вспомогательных - на автоматизацию не будет времени: кпд в 5% делает ее в принципе нерентабельной. Примеры в папке nanoCAD\SDK\samples изучил - там C++, .NET и JavaScript. Самые короткие программы - скриптовые. Вот пример - единственный файл из ОДНОЙ строки. Запускается, работает, чертит круг. Ни одного лишнего слова - идеальный вариант для простого пользователя, так что выбор сделан. Код:
Да, щупал такой. Пока не смог подключить автодополнение. На stackoverflow вопрос задавали - как в скриптах с COM работать: https://stackoverflow.com/questions/...vexobject-func Рекомендованный ts-activex-gen скачал, собрал, файл описания для nanoCAD сгенерировал, но в автодополнении только какие-то обрывки проскакивают - совсем не то, что нужно. Похоже, файл еще править надо, но нет сил разбираться - он под мегабайт размером. |
|||
|
||||||
Регистрация: 18.12.2010
Сообщений: 5,057
|
Цитата:
Цитата:
Цитата:
"инкапсуляция для быстрой и безопасной организации собственно иерархической управляемости: чтобы было достаточно простой команды «что делать», без одновременного уточнения как именно делать, так как это уже другой уровень управления;" Цитата:
Цитата:
Последний раз редактировалось trir, 29.04.2019 в 14:24. |
|||||
|
||||
Инженер-философ Регистрация: 24.04.2019
Хабаровск
Сообщений: 1,876
|
Единственная неприятность с VBA была при обработке ввода - при запросе выбора объекта случайный щелчок мимо и намеренная отмена по ESC возвращали один код ошибки. На плюсах такой запрос оборачивался в бесконечный цикл вида "есть объект - работаем, была отмена - прерываемся, иначе советуем целиться получше и начинаем заново". На VBA приходится прерываться всегда (иначе команду по ESC не отменишь) но то, что она и при промахах сбрасывается - бесит, особенно если запросов несколько и на последнем тебе говорят "Отелло промахнулся, попробуй еще раз". Если в нанокаде этот глюк починили - буду рад, но я еще не забрался так глубоко, пока только осматриваюсь. Собственно, на VBA и сейчас писать можно, прямо из ворда, с подсветкой и автодополнением. Минусов два:
|
|||
|
||||
Проектировщик электрических сетей Регистрация: 17.01.2014
Пенза
Сообщений: 176
|
Возможно я не понял Вашей задачи, но С# в nanocad 5 с использованием multicad.net позволяло создавать свои собственные примитивы, насколько я понимаю. Я смог даже создать свой примитив "кабель" и даже этот примитив работал как надо.)))
|
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,052
|
Цитата:
Код:
Код:
|
|||
|
||||
Инженер-философ Регистрация: 24.04.2019
Хабаровск
Сообщений: 1,876
|
Да я же так и сказал сразу - чайник я, на паровом ходу. Хватит ставить диагноз, дайте уже таблетку !
Это именно глюк , Lib "user32" - костыль, а Err.Number вперемешку с GetAsyncKeyState - грязный код. Чтобы воспользоваться COM API, предоставьте справку из WINAPI. Вот так я мог делать это на крестах: Код:
Цитата:
Всем отозвавшимся - спасибо, возникнут вопросы по C++, C#, VBA - загляну обязательно. На усмотрение модератора Яваскриптеров на форуме, видимо, нет. Тема зафлудилась, висит в топе, мешает окружающим. Может, стоит закрыть? |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Где найти описание объектной модели Civil 3d | Plamber080161 | Поиск литературы, чертежей, моделей и прочих материалов | 1 | 17.05.2016 10:22 |
Создание чертежей с модели в Autocad 2013 | Vitalii314 | AutoCAD | 3 | 09.12.2015 10:36 |
Большие паузы между последовательными обращениями к объектной модели автокада (2010). | Дима_ | Программирование | 8 | 13.10.2010 11:50 |
Преобразование модели стержень/пластина в солидмодель (грубо) | cyberkolbasa | Программирование | 3 | 14.07.2008 23:33 |
Программное позиционирование пространства модели во ViewPort | Danger_pgs | Программирование | 8 | 10.06.2008 20:42 |