|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Редактирование коэффициента сжатия
Минск
Регистрация: 16.09.2006
Сообщений: 1,587
|
||
Просмотров: 7106
|
|
||||
Дополнение:
хотелосьбы еще добавить к этой программе возможность править в прямоугольнике текст который также либо сжат либо выходит за пределы. Выравнивание может быть либо по левому краю либо по правому либо по середине. Совсем забыл, расстояние от текста до линии должно быть 1 ... 1.5мм (хорошо бы это можно былобы править)
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
Проектировщик СС Регистрация: 24.06.2008
Минск
Сообщений: 134
![]() |
Если хочешь написать программу самостоятельно (прочитал в соседнем посте, что желание такое у тебя есть), то подсказываю примерный алгоритм действий:
1) Выбираешь какую-либо из колонок текстов: Код:
Затем для каждого из текстов: 3) Вычисляешь нужные точечные пары: 41 - сжатие, 11 - координаты точки выравнивания (если текст выровнен вправо). Код:
5) Вычисляешь расстояние мечду точкой выравнивания и линией - это длина текста, которая должна быть. 6) Вычисляешь коэффициент сжатия, который должен быть для достижения нужной длины текста и модифицирешь объект. 7) Переходишь к следующему объекту,если нет объектов,то выход. |
|||
![]() |
|
||||
Donhuan, спасибо. Попробую сам написать.
Сразу вопрос: Допустим секущей рамкой я выбираю кучу ненужных объектов как мне отделить только текст? Чтобы выбрался только текст. Наверно придется доработать потому как выбирать текст без "тире" не нужно. Короче заморочек много ... Работать программа должна так: (ну как я хотел бы) 1. Выбирать нужно допустим лист целый на котором присутствует любые объекты. Программа должна выбирать именно то что нужно и формировать список нужных текстов. При этом выравнивание как я написал в первом посте может быть только двух типов. 2. При нажатии Enter должен изменятся выбранный текст в нужном соответствии. Для начала нужно разобраться с первым пунктом. Правильно ли я мыслю, что должен формироваться именно список нужных объектов? или этот процесс выглядит как-то подругому? Какие функции мне нужны для выполнения первого пункта?
__________________
Поезд который устал от ржавого здравомыслия рельсов... Последний раз редактировалось Shoorup, 23.07.2008 в 09:33. |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Потому что первый можно перевести как
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Всеравно ступор со списками
![]() (cons 0 "TEXT") - функция cons создаст точечную пару (0 . "TEXT") . (list (cons 0 "TEXT")) - а такое вызовет ошибку зато вот такое: (list '(cons 0 "TEXT")) - почемуто правильно Вопрос: почему тогда правильно это: (ssget (list (cons 0 "TEXT")))
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Shoorup, сравни:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
По задаче:
Как предложил Donhuan, во втором пункте #5 мне на первом этапе лучше попробовать указать две точки по которым нужно ровнять. Или что более универсально но мне кажется сложней, выбрать один или несколько прямоугольников в виде полилиний на чертеже которые и есть сама клемма и отступить от нее 1 мм. Получается коэффициент сжатия нужно расчитать так: Берем расстояние от полилинииклеммы отступаем 1 мм вправо и влево от нее. Расчитываем расстояние от точки вставки текста до полученной линии. Устанавливаем коэффициент сжатия чтобы текст не заходил за эту линию и максимально к ней приближался но не превышал КЖ 0.8
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Shoorup,
Теперь прорабатываешь главу 2 "Основы язка LISP" . И должны отпасть вопросы про: - QUOTE, - атомы, списки, - голову списка (head) и его хвост (tail) - логические значения ИСТИНА и ЛОЖЬ - пустой список + выполнить все упражнения в vlide
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
это как? (cons <Значение> <Значение>), что ли?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Ну допустим я выделил нужный мне текст и хочу внести в его свойства определенные изменения. Получается мне нужно "раскрыть его" и внести в соответствующие точечные пары изменения. Допустим был текст с КС 0.8 - после применения стал 07
__________________
Поезд который устал от ржавого здравомыслия рельсов... |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Проектировщик СС Регистрация: 24.06.2008
Минск
Сообщений: 134
![]() |
Цитата:
А по поводу изменений точечных пар почитай про функии "assoc" и "subst". Просто в указанной теме все уже сделали, упростив тебе задачу. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Редактирование однострочного текста на чертеже | Nick Fur | AutoCAD | 12 | 10.03.2012 08:10 |
Редактирование размеров | Piton | AutoCAD | 12 | 10.02.2010 23:06 |
при выборе команды редактирование текста вырубается Acad | Nikolays | AutoCAD | 4 | 24.10.2007 09:14 |
Редактирование атрибутов/внешней ссылки. | Alan | AutoCAD | 2 | 09.03.2006 17:09 |