|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Только не помешает предусмотреть ситуацию, когда контур не создался.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 26.02.2014
Сообщений: 3
|
|
|||
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Меня "напрягает" только создание 3D из 2D... А в остальном - мы все учились понемногу...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
геодезист Регистрация: 25.10.2011
Москва
Сообщений: 45
|
Снова вынужден обратиться к вам, гуру Lisp, cо своей неразрешимой проблемой ).
У небезызвестного многим Lee Mac есть функция определения координат центроида замкнутой полилинии (код смотрите ниже). При встраивании этой функции в свою программу столкнулся с тем, что не все контуры обрабатываются правильно - то есть не всегда точка центроида ставится внутри контура. Приложил файл .dwg c примером конфликтной ситуации. Все контура полилинии одинаковые и замкнутые. Случай 1: Координаты X - семизначные, Y - шестизначные. Контур полилинии слева отрабатывается неправильно, справа - правильно. Случай 2: Те же контура, но находятся в окрестностях начала координат. Оба контура обрабатываются правильно. Намекните, как могут координаты контуров влиять на результат функции LM:PolyCentroid и приводить к неправильному вычислению координат центроида? Координаты же не сикстиллионы с сикстиллиардами.. Может дело в какой-то системной переменной? UPD. C причиной не разобрался, попробовал использовать библиотечную dwgru-geom-lwpolyline-centroid - работает безошибочно Код:
Последний раз редактировалось mankurt, 07.03.2014 в 16:10. |
|||
|
||||
геодезист Регистрация: 25.10.2011
Москва
Сообщений: 45
|
Есть ли, навскидку, какая-то альтернатива команде trim среди ActiveX методов? Или все только trim в своих программах используют?
"Extrim" из Express написана c обращением к куче команд. Если на нее подавать кучу полилиний из SS, то очень долго получается. Хотя там много проверочных условий... |
|||
|
||||
Регистрация: 05.09.2007
RUSSIA
Сообщений: 165
|
Добрый день.
Понадобилось написать небольшую программку (чего очень давно не делал). В зависимости от наличия переменной или уже определенных путей, устанавливает или добавляет нужное значение переменной TRUSTEDPARTS. Вот ее текст: Код:
Я так понимаю, что это установленное значение влетает в командную строку и пытается выполниться. Как этого избежать? Заранее благодарен. Михаил Последний раз редактировалось mkung, 16.03.2014 в 22:30. |
|||
|
||||
Регистрация: 12.03.2009
Сообщений: 98
|
to mkung ,
Да нет одной не хватает 3- начинают, а 2 закрывают. Не зер гуд, посмотри в строке (посчитай, количество открытых и закрытых скобок повнимательней).Должно быть (_(_(_____)_)_), а у Вас (_(_(_____)_)_?. Вроде так учили на парах по программированию. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
А почему перед setvar стоит 2 скобки? Почему после ";" в строковой переменной установлен пробел?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
BIM, С#, AutoCAD, LISP Регистрация: 15.03.2006
Дуброво
Сообщений: 657
|
Прошу покритиковать одну из моих первых программ:
Код:
Вопросы: 1. Не слишком ли много переменных? Можно ли сделать меньше? Как вариант: (setq obj_name (cdr (assoc 0 (entget (ssname ss i))))) заменить на функцию и вызывать функцию, а не обращаться к переменной. Ещё вариант ухода от переменной (только что пришла мысль) - блок кода со взрывом объектов забросить в первую конструкцию (if ...) и в условии спрашивать не переменную answer, а сделать прям там вызов диалога (итого - получилось минус две переменные) 2. В этой программе я использовал функцию вызова диалога из пакета программ bgtools. Как обычно описываются сторонние функции? Требуется ли сообщать автору (если есть возможность его найти) об использовании его функции в своей программе? Какие правила (писаные/неписаные) есть по этому поводу?
__________________
"Молодой человек, Вы не представляете всей широты поставленной перед Вами задачи." © Панкратова Г.Е. Последний раз редактировалось kha, 31.03.2014 в 14:11. |
|||
|
||||
Два вопроса о vla-
1. условие (if (not (vla-item (vla-get-layers adoc) "_vsp"))... понял, что нельзя, как красиво обойти? 2.объясните как оптимизировать создание объекта с помощью vla Код:
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы... |
||||
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381
|
Цитата:
Например, создание отрезка: Код:
Код:
|
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Ну если из первых - то программа просто шикарная, но есть несколько логических казусов:
- возврат функции msg-yes-no надо проверять сразу по выполнению и если он "нет", то нет никакого смысла выполнять фильтрацию набора - он все равно не понадобится - как следствие нет нужды в выделении имени answer - ненужная работа. - "qaflags" надо не устанавливать в фиксированное значение, а "запоминать" перед изменением и восстанавливать после работы (как впрчем и любые другие используемые на изменение системные переменные). Это на ваш вкус - можно избавиться от всех. з.ы. Не партесь - все бы так как Вы программировали...
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Цитата:
tblsearch ? я собственно это и хотел, но vla-item возвращает либо нужный слой, либо ошибку и абзац...
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы... |
||||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
Сейсмозащита и сейсмоизоляция существующих, построенных зд. | IANationalInformAgentstvo | Прочее. Архитектура и строительство | 216 | 20.01.2015 16:51 |
Мониторы LCD CRT | Разное | 94 | 17.06.2008 10:51 | |
ЮМОР 2006 =) | Perezz!! | Разное | 1122 | 04.01.2007 00:46 |