|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Регистрация: 17.10.2012
Сообщений: 4
|
Ребят, пожалуйста, помогите разобраться. Сам я человек от программирования далекий - неделю разбирался как в лиспе заштриховать кружок и шрифт у текста поменять .
По поводу отмены введеной точки могу только догадываться что надо разбираться с функциями vla-startundomark и vla-endundomark которые в этом лиспе уже есть но я не совсем понимаю как они работают. По поводу выноски догадываюсь что в этот фрагмент лиспа Код:
Может кто из старожилов форума подскажет тему (если такая есть на форуме) которая поможет мне с этим разобраться |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Со временем абсолютный "затык", поэтому попытаюсь объяснить кратко:
#1957 - это создание описания блока и его наполненности, не более того. Чтобы сделать то, что хочется, надо переделывать кусок Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
инженер Регистрация: 17.11.2012
Казань
Сообщений: 8
|
добрый вечер! Недавно начала осваивать лисп, возникла вот такая загвоздка: как сделать, чтоб программа создавала блок, если его нет в чертеже, а если есть, то использовала то что есть? тут вроде как нужна функция if. как узнать есть ли описание блока в чертеже?
вот она програмка, писала сама, только не смейтесь (defun C:ci (/ sc1 rad1 ci1) (setq sc1 (getdist "\nМасштаб <100>: ")) (if (= sc1 nil) (setq sc1 100) );if (setq rad1 (* 0.8 sc1)) (command "._CIRCLE" "0,0" rad1) (setq ci1 (entlast)) (command "._BLOCK" "v" (list 0 (- rad1)) ci1 "") (command "._MEASURE" pause "_B" "v" "" pause pause) (command "._GROUP" "" "*" "" "_p") ) |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Для поиска описания блока можно воспользоваться (tblsearch "block" <Имя блока в кавычках>)
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
инженер Регистрация: 17.11.2012
Казань
Сообщений: 8
|
Не получается..
точнее когда описание блока есть в файле программа работает, а когда описания блока нет выдает: Масштаб <100>: ; ошибка: неверная функция: "" в чем может быть ошибка? (defun C:ci (/ sc1 rad1 ci1 vs1) (setq s1 (tblsearch "block" "v")) (if (= s1 nil) ((setq sc1 (getstring "\nМасштаб <100>: ")) (if (= sc1 nil) (setq sc1 100) );if (setq rad1 (* 0.8 sc1)) (command "._CIRCLE" "0,0" rad1) (setq ci1 (entlast)) (setq vs1 (list 0 (- rad1))) (command "._BLOCK" "v" vs1 ci1 "") ) );if (command "._MEASURE" pause "_B" "v" "" pause pause) (command "._GROUP" "" "*" "" "_p" "") (princ) ) |
|||
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
|
|||
|
||||
инженер Регистрация: 17.11.2012
Казань
Сообщений: 8
|
Добрый вечер! При вставке блоков через программу блоки поворачиваются на некоторый угол, (правда не все, а только некоторые). Не пойму это у меня программа с косяком или сами блоки?
Снова не пойму где я не так делаю..программу и файл прилагаю. Программа: Код:
Последний раз редактировалось Кулик Алексей aka kpblc, 24.11.2012 в 20:44. |
|||
|
||||
инженер Регистрация: 17.11.2012
Казань
Сообщений: 8
|
Всё равно поворачивает эти 2 блока "линия разрыва" и "фигурная скобка", все остальные еще 10 штук вставляются нормально с привязкой и в любом варианте команды "._INSERT".
Пробовала значения 0, 20535, 16384 и через кнопку отключать. Попробовала разные варианты команды "._INSERT" на варианты: (command "._INSERT" "фигурная скобка" in1 sc1 sc1 "0") (command "._INSERT" "фигурная скобка" in1 sc1 sc1 "") вставляет и поворачивает на вариант: (command "._INSERT" "фигурная скобка" in1 sc1 sc1 pause) 1 раз вставляет, а дальше пишет: "Точка вставки: Точка вставки: Неверное определение рамки. Системные переменные восстановленны:" Последний раз редактировалось Alevtina R, 25.11.2012 в 11:18. |
|||
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
1. Поспешили вы, Алевтина, глушить вывод в командную строку, дело то не в привязках оказалось
2. Учитесь разбивать программы на фрагменты и выстраивать их логику 3. Ну вот так у меня получилось: Код:
Последний раз редактировалось gomer, 25.11.2012 в 17:34. Причина: ошибка: блок библиотеки должен удаляться при вставке, а не вместо |
|||
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
попробуйте вручную ввести -INSERT, и посмотреть опции команды, это масштаб вставки блока
Важно понимать какие события происходят в команде, следовательно какие режимы можно выделить в отдельные функции. Их можно унифицировать и использовать в других командах Ну вот, так получилось, чуть посложнее: Код:
Последний раз редактировалось gomer, 25.11.2012 в 17:35. |
|||
|
||||
Регистрация: 17.10.2012
Сообщений: 4
|
У меня вопрос к знатокам.
Мне необходимо чтобы лисп создавал *.CSV файл в котором помимо координат и номеров точек должен присутствовать текст с формулой которая содержит символы √ и Δ. Так вот если лисп сохранен в кодировке ANSI то эти символы в CSV заменяются на “v” и “?” и приходится в Notepad++’е конвертировать CSV в UTF-8 а после уже делать замену символов. Если же лисп сохранить в кодировке UTF-8 то весь русский текст лиспа в AutoCAD-е превращается в набор иероглифов, а полученный CSV если его открывать в Notepad++ выглядит вроде как и надо бы, но если открывать его в excel’е весь русский текст превращается в иероглифы. И программа для которой по идее и создается этот CSV не хочет импортировать данные из него. Так вот собственно вопрос. Как сделать так, чтобы символы √ и Δ и русский текст отображались корректно в экспортированном CSV-файле, а русский текст не превращался в иероглифы в AutoCAD’е и вообще возможно ли это? |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |