| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как назначить тип линии?

Как назначить тип линии?

Ответ
Поиск в этой теме
Непрочитано 25.07.2008, 10:57 #1
Как назначить тип линии?
ceiba
 
Ярославль
Регистрация: 06.02.2008
Сообщений: 24

Здравствуйте!

Есть такие строки:
---------------------------------
(defun c:ccc ()
(setvar "CELTYPE" "strih")
(command "_pline")
(setvar "CELTYPE" "dashed")
(princ)
)
---------------------------------

Оба типа линии в чертеже существуют. Но полилиния получается типом "dashed". А нужно "strih", и вернуть "dashed".

Как исправить?
Просмотров: 2849
 
Непрочитано 25.07.2008, 11:18
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Код:
[Выделить все]
(defun c:ccc ()
  (setvar "CELTYPE" "strih")
  (command "_.pline")
  (while (/= (getvar "cmdactive") 0)
    (command pause)
    ) ;_ end of while
  (setvar "CELTYPE" "dashed")
  (princ)
  ) ;_ end of defun
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 25.07.2008, 11:38
#3
ceiba


 
Регистрация: 06.02.2008
Ярославль
Сообщений: 24


Да, спасибо, kpblc!

Я сама тут просто добавила pause, и тоже сработало:

---------------------------------
(defun c:ccc ()
(setvar "CELTYPE" "strih")
(command "_pline" pause)
(setvar "CELTYPE" "dashed")
(princ)
)
---------------------------------

Можно я позадаю вопросы теперь такие про ваши строки (тоже чайничные):

1. То есть без ожидания ввода пользователя сначала выполнится все до последней скобки, а потом уже пойдут команды (первая команда?последняя команда, если несколько?)?

2. Для чего нужна проверка на активную команду, если она только что вызвана? И что может произойти, если этой проверки нет?

3. Чем отличаются команды "_pline" и "_.pline"? Когда-то знала, но сейчас в Полещуке не могу найти.
ceiba вне форума  
 
Непрочитано 25.07.2008, 11:53
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Последовательность работы - в комментариях:
Код:
[Выделить все]
(defun c:ccc ()
  (setvar "CELTYPE" "strih") 
  (command "_.pline") ; Начало команды, cmdactive<>0
  (while (/= (getvar "cmdactive") 0) ; Пока выполняется команда
    ; то есть идет запрос точки или опции
    (command pause) ; продолжать запрос
    ) ;_ end of while
  ; Команда завершена корректно, полилиния построена
  (setvar "CELTYPE" "dashed") ; устанавливаем celtscale
  (princ)
  ) ;_ end of defun
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 25.07.2008, 12:28
#5
ceiba


 
Регистрация: 06.02.2008
Ярославль
Сообщений: 24


Спасибо, все понятно!

Впредь буду аккуартнее при использовании команд, ожидающих ввод.
ceiba вне форума  
 
Непрочитано 25.07.2008, 13:07
#6
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


Добавлю - на caduser.ru Alan верно подметил насчет работы с системными переменными (просто лично я не стал заострять на этом внимание).
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 25.07.2008, 16:50
#7
ceiba


 
Регистрация: 06.02.2008
Ярославль
Сообщений: 24


А, это...

Нет, это, действительно, *часть* большого лиспа, в котором в начале все нужные сис.вары запомнены, а в конце возвращены. А тип линии будет обязан возвращаться в однозначно определенный (мною), а не в предыдущий.

Еще раз спасибо за советы
ceiba вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как назначить тип линии?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пользовательский тип линии Zlat21 AutoCAD 36 28.07.2016 11:53
Как создать тип линии KYKICH AutoCAD 37 20.11.2007 15:45
Как перенести линии вместе с чертежом ? Терыч AutoCAD 2 07.02.2006 16:05
Как сделать часть линии пунктиром Димас AutoCAD 16 03.02.2006 09:31
Как скрыть линии перехода Maxx AutoCAD 20 12.01.2006 16:21