| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Регистрация: 13.04.2017
Сообщений: 134
|
|
|||
|
||||
Инженер-проектировщик Регистрация: 07.07.2016
Санкт-Петербург
Сообщений: 723
|
Здравствуйте!
В лиспе практически не разбираюсь. По примерам и наитию смог сделать простенький код (не судите строго). Код:
Специалисты, помогите пожалуйста сделать адекватную программу. |
|||
|
||||
Регистрация: 25.05.2016
Сообщений: 111
|
Здравствуйте! Сначала самое главное, я еще полный чайник в ЛИСПе))
Не так давно начал заниматься ЛИСПом и прошу Вашей помощи. Решил начать с малого, а именно построения трубы по уклону с заданным масштабом для помощи мне строить продольный профиль сетей водоснабжения и водоотведения. В принципе работает, но накосячил с отключением привязки (для повторения использовал while, после того как завершаю выполнение программы привязка не возвращается. Понимаю почему но не могу понять как можно вернуть старую привязку old_value). Так же решил, чтобы не вводить в ручную выбор 1-ой отметки применить выбор текста в котором эта отметка пишется на профиле. Тут проблема в том, что есть вариант того что можно просто промахнуться при выборе текста. Пытался воспользоваться if, но не получается. Думаю надо написать условие: если промахнулся то вводи в ручную. Пробовал но выдает ошибку. Проблема с текстом тоже бывает всплывает. В другом файле текст вставляет не отметку которую я рассчитал а 90 т.е угол на который я хочу поворачивать. Код:
Последний раз редактировалось Maksim7enov, 25.08.2017 в 10:27. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Значит в это файле другие настройки текущего текстового стиля.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 25.05.2016
Сообщений: 111
|
Цитата:
Все бьюсь с условием если промахнулся мимо выбора текста в данными о первой отметке. пробовал сделать так : (if (= otm_Z nil) (getdist "\nВводи отметку вручную " )) В итоге ошибка: неверный тип аргумента: lentityp nil |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Если промахнулся, то entsel возвращает nil. (car nil) -> nil. А entget nil - ошибка.
Пройдись пошагово (http://autolisp.ru/2009/09/10/vlide-misc-01/ + http://autolisp.ru/2009/09/12/vlide-misc-02/) И твой код с минимальными исправлениями - только отлов "промаха выбора". Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 25.05.2016
Сообщений: 111
|
Цитата:
----- добавлено через ~2 ч. ----- Очень полезные ссылки. По оформлению понял [Ctrl]+[Shift]+[f] помогает. Про промах при выборе делаю вывод, что на данном этапе изучения промах=расстрелу) Так же хотелось бы узнать, может кто-то готов потратить свои силы и время на еще одного чайника?))) |
|||
|
||||
Регистрация: 14.05.2015
Сообщений: 33
|
День добрый, помогите решить проблему:
1) применяю mapcar для извлечения из списка мультивыносок свойство "TextString" > 2) для некоторых из них вылетает ошибка: Ошибка Automation. Отсутствует описание. в связи с этим все крешится 3) дамп выноски выдающей ошибку: ; IAcadMLeader: Интерфейс мультивыносок AutoCAD ; Значения свойств: ; Application (RO) = #<VLA-OBJECT IAcadApplication 000000013f803318> ; ArrowheadBlock = "_Open" ; ArrowheadSize = 300.0 ; ArrowheadType = 6 ; BlockConnectionType = 0 ; BlockScale = 1.0 ; ContentBlockName = "" ; ContentBlockType = 6 ; ContentType = 0 ; Document (RO) = #<VLA-OBJECT IAcadDocument 00000000291e89d8> ; DogLegged = -1 ; DoglegLength = 0.0 ; EntityTransparency = "ПоСлою" ; Handle (RO) = "9205A" ; HasExtensionDictionary (RO) = 0 ; Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 00000000433cba98> ; LandingGap = 2.0 ; Layer = "АР лестница" ; LeaderCount (RO) = 1 ; LeaderLineColor = #<VLA-OBJECT IAcadAcCmColor 00000000433cbd90> ; LeaderLinetype = "ByBlock" ; LeaderLineWeight = -2 ; LeaderType = 1 ; Linetype = "ByLayer" ; LinetypeScale = 50.0 ; Lineweight = -1 ; Material = "ByLayer" ; ObjectID (RO) = 95928 ; ObjectID32 (RO) = 95928 ; ObjectName (RO) = "AcDbMLeader" ; OwnerID (RO) = 116635 ; OwnerID32 (RO) = 116635 ; PlotStyleName = "ByLayer" ; ScaleFactor = 1.0 ; StyleName = "Копия(4) Standard" ; TextAttachmentDirection = 0 ; TextBackgroundFill = Ошибка ; TextBottomAttachmentType = 0 ; TextDirection = Ошибка ; TextFrameDisplay = 0 ; TextHeight = 4.0 ; TextJustify = Ошибка ; TextLeftAttachmentType = 1 ; TextLineSpacingDistance = Ошибка ; TextLineSpacingFactor = Ошибка ; TextLineSpacingStyle = Ошибка ; TextRightAttachmentType = 3 ; TextRotation = Ошибка ; TextString = Ошибка ; TextStyleName = Ошибка ; TextTopAttachmentType = 0 ; TextWidth = Ошибка ; TrueColor = #<VLA-OBJECT IAcadAcCmColor 00000000433cbbb0> ; Visible = -1 4) какого типа функции стоит применить для решения проблемы? |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
У тебя на выноске - блок. См.свойство ContentType
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Жалкий инженеришка-проектаст Регистрация: 31.01.2010
Сообщений: 1,986
|
https://openedu.ru/course/ITMOUniversity/FPBC/
Функциональное программирование: базовый курс В курсе изучаются основы функционального подхода к программированию и практические вопросы программирования на языке Lisp. Функциональные языки обладают множеством интересных особенностей, знакомство с которыми расширяет кругозор программиста. Курс содержит видеолекции, опросы и практические задания по программированию. Материал курса рассчитан на 10 недель обучения. |
|||
|
||||
Регистрация: 25.05.2016
Сообщений: 111
|
Цитата:
|
|||
|
||||
Инженер Регистрация: 02.10.2008
С-Пб
Сообщений: 3,685
|
Offtop: "Не учите меня жить, помогите материально! ©"
Товарищи знатоки, есть такая хорошая программка, "меняющая" выбранные примитивы на выбранный пользователем (код ниже), работает беспроблемно автокада что ль с 2000 у меня.. А нельзя ли ея модернизировать так, что бы у вставляемых примитивов назначалась координата Z, взятая из заменяемого примитива? Хотя бы только для блоков? Код:
__________________
...Не пытайся гнуть ты ложку, Не вяжи её узлом. Ложка - ложка понарошку, А по правде, - это лом! |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 23.10.2013
Сообщений: 23
|
Помогите пожалуйста. Есть ли возможность получать (выбирать точку в пространстве модели автокада) с привязкой (угловой и размерной) от предыдущей выбранной точки (getpoint) ? Желательно так же, как при построении полилинии.
з.ы. Как выудить координату конца обычного цилиндра (_cylinder)? Последний раз редактировалось Titli-pytli, 20.10.2017 в 12:28. |
|||
|
||||
Цитата:
Для пользователя читать про Относительные координаты в Автокаде
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |