| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
02.11.2016, 19:24 | #1 | |
Глюк автокада при построении линий командами сценария
Регистрация: 02.11.2016
Сообщений: 6
|
||
Просмотров: 6590
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Без анализа скрипта: добро пожаловать в тесные ряды наступивших на грабли
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 18.12.2010
Сообщений: 5,057
|
классика, привязку надо отключать!
Цитата:
|
|||
|
||||
Регистрация: 02.11.2016
Сообщений: 6
|
Спасибо помогло
А про "моду" не надо втирать программеру который и так более склонен к функциональному программированию нежели ООП (хотя и владеет и тем и этим) Повторюсь, я далеко не гуру автокада, и нужен он мне сто лет в обед, если бы жене не приспичило, я бы еще сто лет в него не лез Я больше делюсь впечатлением и офигеваю: Это до какой степени идиотизма нужно дойти разработчику сего софта, чтобы задать по дефолту какую нить системную переменную (так понимаю именно ее мы в 0 и сбрасываем а не в то что там в ней по старту када стояло), чтобы от этого поведение системы было непредсказуемым и как оказалось зависело от масштаба чертежа на экране... И наоборот, какая польза тогда от этой osmode (ежели она и режим который она включает для чего-то были введены) если она при одном масштабе работает а при другом ведет себя так как если бы я и сбросил ее в 0? Это что-то новое в программинге/математике, когда результат вывода на экран зависит от самого экрана... |
|||
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826
|
OSMODE http://forum.dwg.ru/showthread.php?p=697924
Эта системная переменная отвечает за привязки. Привязки работают в пределе некоторой области возле курсора (процент от экрана), поэтому результат зависит от масштаба экрана. При использовании командных методов, если рядом с указанной точкой находится объект к которому можно привязаться, к нему и привяжется. Если использовать другие способы создания примитивов entmake или vla-add..., то привязки не мешают.
__________________
Делай хорошо, плохо само получится. |
|||
|
||||
Регистрация: 02.11.2016
Сообщений: 6
|
Цитата:
То есть, выходит, что при включенной привязке даже если я задам отрезок скажем 0,0,100,100 он мне его нарисует только при условии если ничего рядом нету? А будет еще рядом что-то то привяжется и фигню нарисует, что ему взбрендило а не что в команде? Медвежья услуга а не помощь, нафиг такой не надо. За такое пристрелить хочется, аналогично автовводу в некоторых приложениях, например на сотовых телефонах режим T9 Мое программерское ИМХО: Было бы у ваятелей сего када чточку более мозгов то а) ставили бы они по дефолту в нуль эту переменную, а тем кого сие радует - читаем маны да включаем, либо б) приоритет того что юзер ввел явно должно быть выше каких либо привязок, либо в) при запуске скриптов игнорировать привязки, даже если заданы, ибо будет всегда непредсказуемый результат... И никаких граблей... вот кто только бы до них сие довел.... я целый день! убил пытаясь понять что же это за хрень, я ли ошибся в своем скрипте или что еще не так, гуглу моцк взорвал, но гугл ведь знает ответ лишь на правильно поставленный вопрос, а тут еще нужно суметь его сформулировать... Качал 2010 кад, который мне нафиг не убился, потом ставил, теперь его сносить еще предстоит. Куча абсолютно не нужных движений только из за этой дурацкой привязки. Не, ну я понимаю, я программер а не автокадщик, и жду от системы простой и предсказуемой реакции - синтаксис соблюден? да. Ошибок нет? Нет. Значит результат должен быть однозначный. Иначе это не функциональный программинг (в который меня тут тыкали защитники лиспа) а еще хуже чем самый махровый ООП... |
|||
|
||||
Регистрация: 18.12.2010
Сообщений: 5,057
|
Смешные у вас предъявы. Вам же сказали - используйте entmake. А есть ещё COM и NET API, ObjectARX.
Правильные поцонны command не используют |
|||
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826
|
Могу ошибаться, но возможно, в стандартные команды автокада передаются именно те координаты, которые указал пользователь курсором или же вбил в ручную. А далее, уже внутри этой команды, в зависимости от переменной osmode ищутся ближайшие к этой точке установленные привязки. Поэтому, даже если я передаю по факту конкретные координаты, команда все равно обработает привязки. Поэтому тут "глючет" даже не конкретно функция command, а сами команды када, типа line. Так уж они устроены для удобства ручного черчения.
__________________
Делай хорошо, плохо само получится. |
|||
|
||||
Можешь, но не сильно.
----- добавлено через ~11 ч. ----- Цитата:
Цитата:
В большинстве случаев тот, кто пишет скрипт, хочет чтобы результат был точно такой, как будто он вручную вводил данные.
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
|
|||||
Регистрация: 18.12.2010
Сообщений: 5,057
|
Цитата:
Цитата:
Цитата:
Цитата:
Последний раз редактировалось trir, 05.11.2016 в 18:34. |
||||
|
|||||
Регистрация: 02.11.2016
Сообщений: 6
|
Цитата:
Цитата:
Цитата:
Цитата:
|
||||
|
||||
инженер (КМ) Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826
|
Цитата:
entmake же тупо напрямую прописывает dxf коды в базу чертежа, например так: Код:
__________________
Делай хорошо, плохо само получится. |
|||
|
||||
Регистрация: 02.11.2016
Сообщений: 6
|
Цитата:
Спасибо конечно же за пояснение, но курить формат DXF чтобы понять что скормить в entmake чтоб четыре скаляра координат отрезка превратить в то что захавает DXF/entmake нет никакого желания. Если до этого дойдет, я тогда уж лучше жахну предложенный по ссылке выше парсер сделаю из него креатер и буду все делать сразу им напрямик. А пока... мне вполне хватает того что делает command отученный чудить сбросом привязок. Спасибо всем, мне теперь более менее понятно чего хотеть от этого када и как его заставлять делать что нужно а не что ему хочется не занимаясь всякой ерундой (ибо и без того есть чем заняться). |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Аннотивность типов линий | ArchitectV | AutoCAD | 16 | 02.11.2017 18:06 |
не показывает вес линий | Александер | AutoCAD | 39 | 06.04.2016 16:02 |
При установки автокада (2009,2013) типы линий (GOST 2.303) не ставятся, а при перезагрузки все панели прячутся обратно | kapityuliya | AutoCAD | 5 | 11.03.2014 09:52 |
Некорректный экспорт в ПДФ. Вывод несуществующих линий из автокада | iollo | AutoCAD | 14 | 28.02.2014 12:03 |
Печать со скрытием линий вызывает ошибку Autocad-приложения и его закрытие. | BM60 | AutoCAD | 7 | 27.04.2009 20:10 |