| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Ну, не будет - если только в ответ на getfiled не нажать Esc
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Выравнивание: либо менять свойство AttachmentPoint, либо менять 71 группу в DXF. А что за "высота рамки"? Если блок - то соответствующие масштабы.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 19.11.2014
Сообщений: 2,435
|
|
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,004
|
|
|||
|
||||
Регистрация: 19.11.2014
Сообщений: 2,435
|
Тогда как бы решить вот такую задачу. Смотри поясняющую картинку. Нужно программно задать ширину, высоту, содержимое и выравнивание мультитекста. В случае на картинке пользователь задает ширину зеленой рамки, высоту этой рамки, текст, указывает точку вставки (красный квадратик) и программно рисуется мультитекст по заданным параметрам. Прототип функции такой:
Код:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Все просто:
1. Проверить наличие слоя 2. Если слой есть, то разблокировать и разморозить 3. Пройтись по всем блокам (включая модель и пространства листов) и удалить в них примитивы, лежащие на слое Скорее всего, будут проблемы с атрибутами и описаниями атрибутов, но это уже отдельная песня.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 21.07.2019
Сообщений: 3
|
Благодарю за быстрый ответ, но есть пару нюансов:
1. Алгоритм действительно не сложный и понятный, но с реализацией у меня проблема, хочу воспользоваться: "Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу)". 2. Из блоков и листов удалять не надо. |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Вспомнился Эйнштейн со своим "Вы думаете, что всё так просто? Все просто, но совсем не так!"
jeka_me, "научите" и "напишите" - это ведь два разных слова с далеким друг от друга смыслом. Ход хитрый, но кажется, его уже раскусили Знаю, знаю, вместо того, чтобы ворчать тут, предложил бы что-то по делу. Рекомендую попробовать из готового - тема на форуме "Подготовка подосновы". Там есть команда, которая удаляет слой вместе со всеми объектами на нем. Правда, судя по описанию задачи, сам слой удалять не нужно. Тогда можно вот так (без проверки на блокировку/заморозку слоя, без удаления в блоках и на листах - удаляет в текущем пространстве, т.е. в данном случае - в модели): Код:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
А есть еще команда _.laydel, которая заодно и слой сносит...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 15.01.2010
Сообщений: 254
|
Добрый вечер!
Как разбить строку на части, например, по встречающимся "-"? Исходные строки типа "AA.BBxCC.DD-EE-FF-GG-HH-12345-I-J-6.7 лист 98". Попробовал следующее: Код:
С PP0 все нормально, в нее попадает "лист ...". А вот в переменную PP1 могут попадать как корректные значения (новая строка заканчивается цифрой/буквой) так и какие-то выкидыши (новая строка заканчивается "-", хотя до обрезки по "-" еще не подошли). Соответственно, дальнейшие разделения превращаются в кашу. ??? |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,004
|
Как написан, так и работает) Есть исходная строка, ввести две локальных переменных - индексы начала (SSG) и конца сегмента (ESG).
Вначале SSG=1, ESG=индекс позиции первого разделителя (через поиск)-1. Получили через substr первый сегмент. А потом SSG=ESG+1(после разделителя), и если SSG не вышло за пределы строки - ищем ESG как следующую позицию разделителя, при этом SSG-1 является позицией начала поиска для vl-string-search. И так сдвигаемся по исходной строке, не надо никаких подрезок строк делать - наверняка там где-то и вылезают выкидыши ваши из-за несогласованности индексов позиций. p.s. Если один символ в разделителе - то лучше vl-string-position использовать, наверно - она должна быстрее работать по идее. |
|||
|
||||
Регистрация: 15.01.2010
Сообщений: 254
|
Сергей812, спасибо за расписанный алгоритм)
Получилось примерно следующее: Код:
Повторяя строки 2-4 нужное число раз, извлеченные фрагменты передаются в дальнейшую обработку. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |