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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Переменная в подсекции кода dxf

Переменная в подсекции кода dxf

Ответ
Поиск в этой теме
Непрочитано 25.10.2023, 12:49 #1
Переменная в подсекции кода dxf
olga87
 
Регистрация: 28.05.2007
Сообщений: 229

Здравствуйте Уважаемые программисты!

Подскажите пожалуйста, как в коде ниже в подсекцию "(141 . 1.5)" добавить переменную "offset" вместо "1.5"?


Код:
[Выделить все]
(defun c:test ( / offset nab n k el tip)
      (while (not offset)
        (setq offset (getreal (strcat "\nВведите нужный отступ <1.1>: ")))
        (cond
          ((not offset) (setq offset 1.1))
          ((< offset 1.0) (setq offset (prompt "\nЗначение должно быть >= 1")))
          (T)
        )
      )
	  
      (setq nab (ssget))
      (if (not nab) (exit))

  (setq n (sslength nab) k 0)
  (while (> n 0)
    (setq n (1- n) el (ssname nab n))
    (setq tip (cdr (assoc 0 (entget el))))
    ((= tip "MULTILEADER")
        (_mleader_Background el offset)
        (setq k (1+ k))
	)
  )
  (prin1)
)

;Обработка мультивыноски
(defun _mleader_Background ( el offset / par ed part1 part2 item)
  (defun _devide_lst (a spk / part1 part2 n)
    (setq part2 (member a spk) part1 nil)
    (setq n (- (length spk) (length part2)))
    (while (> n 0)
      (setq n (1- n) part1 (cons (nth n spk) part1)))
    (list part1 part2)
    )

  (setq par (if (= *MLBack* "ON")
                      '((141 . 1.5) (291 . 1) (292 . 1))
                      '((141 . 0.0) (291 . 0) (292 . 0))))
  (setq ed (_devide_lst '(302 . "LEADER{") (entget el)))
  (setq part1 (car ed) part2 (cadr ed))
  (foreach item par (setq part1 (subst item (assoc (car item) part1) part1)))
  (entmod (append part1 part2))
)
Заранее спасибо!
Просмотров: 619
 
Непрочитано 25.10.2023, 12:53
#2
Кулик Алексей aka kpblc
Moderator

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


(list (cons 141 offset) '(291 . 1) '(292 . 1))
Как пример.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 25.10.2023, 13:13
#3
olga87


 
Регистрация: 28.05.2007
Сообщений: 229


Спасибо!
olga87 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Переменная в подсекции кода dxf



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какой язык перспективен для инженера-конструктора с условием The_Mercy_Seat Программирование 705 17.03.2021 14:19
ANNOAUTOSCALE (Системная переменная) Krieger Справочник команд 4 20.03.2017 20:43
Какая переменная отвечает за появление предупреждения о большом списке масштабов? tanash AutoCAD 4 15.04.2010 20:24
Уменьшение времени выполнения кода на VBA Vladmart Программирование 1 11.12.2009 14:35
Почему тормозит переменная? Valery Программирование 6 16.04.2005 16:16