Lisp. Мультивыноска по ГОСТу - Страница 2
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Lisp. Мультивыноска по ГОСТу

Lisp. Мультивыноска по ГОСТу

Ответ
Поиск в этой теме
Непрочитано 14.01.2013, 22:02
Lisp. Мультивыноска по ГОСТу
sdv79
 
Инженер ЭОМ
 
Москва
Регистрация: 05.03.2009
Сообщений: 215

Lisp. Добрые люди помогите. Как программно создать мультивыноску (от безысходности соглашусь на мультитекст) по ГОСТу вида
0000000 4х18
8-AOT 0--------
0000000 2,5
Просмотров: 9082
 
Автор темы   Непрочитано 17.01.2013, 17:22
#21
sdv79

Инженер ЭОМ
 
Регистрация: 05.03.2009
Москва
Сообщений: 215
Отправить сообщение для sdv79 с помощью Skype™


Олег (jr.) спасибо за код и проделанную работу. В первом приближении все отлично, очень рад.
Спасибо всем кто принимал участия, буду копать код.
:-)
sdv79 вне форума  
 
Непрочитано 17.01.2013, 17:28
#22
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811


Удачи
Олег (jr.) вне форума  
 
Непрочитано 14.05.2014, 23:51
#23
Alex II


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


Заранее извиняюсь, может не очень в тему попал. Помогите плз чем можете. Использую Mleader, но дополнительно прописал для этого вспомогательные вещи:

Код:
[Выделить все]
 
(vl-load-com)
	(command
			"_mleader"
			pause 
			pause 
			; "_e"
			; 0 
			"" 
	)
	(vla-put-TextJustify (vlax-ename->vla-object(entlast)) 2) 
        
                    
        (vla-put-textbackgroundfill (vlax-ename->vla-object(entlast)) 1)
        (vla-put-LineSpacingStyle (vlax-ename->vla-object(entlast)) 2)
        
  
	(command "_ddedit" (entlast) "") 
Проблема с этой строчкой
(vla-put-LineSpacingStyle (vlax-ename->vla-object(entlast)) 2)
выдает ошибку. Помогите плз исправить ошибку. Суть в том, что нужно положение текста Exactly, а никак не получаеться автоматизировать
Alex II вне форума  
 
Непрочитано 15.05.2014, 10:37
#24
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


У Mleader нет свойства LineSpacingStyle, есть TextLineSpacingStyle.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 15.05.2014, 10:49
#25
Alex II


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


Огромное спасибо
Alex II вне форума  
 
Непрочитано 15.05.2014, 11:02
#26
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Вас не смущает троекратный вызов в трех строках (vlax-ename->vla-object(entlast))?
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 15.05.2014, 11:20
#27
Alex II


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


Так как я в этом к сожалению не разбираюсь, то и смутить меня это не может Но если Вы предложите оптимизацию, то буду очень благодарен
Alex II вне форума  
 
Непрочитано 15.05.2014, 11:29
#28
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от Alex II Посмотреть сообщение
Так как я в этом к сожалению не разбираюсь, то и смутить меня это не может Но если Вы предложите оптимизацию, то буду очень благодарен
При таком подходе она Вам все равно не поможет. Когда будете писать по многу и пальцы начнут уставать от "типографии", а главное начнете понимать, что это можно сделать как-то проще и лучше - тогда и поговорим.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 15.05.2014, 11:33
#29
Alex II


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


Договорились
Alex II вне форума  
 
Непрочитано 15.05.2014, 14:17
#30
kakt00z

инженер-проектировщик КИПиА
 
Регистрация: 30.08.2008
Минск
Сообщений: 159


тоже захотелось принять участие
для MLDT
можно присобачить:
Код:
[Выделить все]
 (defun mldt-dcl-getstrings (/
		  propsdcl
		  dlgname
		  dclfilename
		  dcl-file-path			; путь к dcl-файлу для проги (в папку temp)
		  hand					; ручка этого файла
		  dcl_id
		  i
		  lst
		  lif				;last input file
		  lifr				;last input file read
		  ld				;last data
		  tmp
		  )
  (setq propsdcl '("text" "upind" "downind"))

  (setq dlgname "MLDTgetcontent")
  (setq dclfilename (strcat "\\" dlgname ".dcl"))
  (setq lif (strcat "\\dclget-lif-" dlgname ".tmp"))

  ;-----------------------------------------------------------
  (defun kd:dclget_done ( / lst i lifw)		; last input file write
    (setq lst '() i 0)
    (repeat (length propsdcl)
      (setq lst (append lst (list (get_tile (strcat "key" (itoa i))))))
      (setq i (1+ i))
      )
    (done_dialog)
    (setq lifw (open (strcat (getenv "temp") lif) "w"))
    (mapcar '(lambda (x) (write-line x lifw)) lst)
    (close lifw)
    lst
    );defun
  ;-----------------------------------------------------------  

  ;;;;*******************************************************************

  (setq dcl-file-path (strcat (getenv "temp") dclfilename)
	hand (open dcl-file-path "w"))

  (if (setq lifr (open (strcat (getenv "temp") lif) "r"))
    (progn
      (while (setq tmp (read-line lifr))
	(setq ld (append ld (list tmp)))
	)
      (close lifr)
      )
    )
  
  (write-line (strcat dlgname ": dialog" "{label=\"kd "dlgname "\";") hand)
  (write-line ":row{" hand)

  (setq i 0)
  (write-line
    (strcat
      ":edit_box"
      "{"
      "label=\"" (nth i propsdcl) "\";"
      "key=\"" (strcat "key" (itoa i)) "\";"
      "edit_width=20;"
      "alignment=centered;"
      "value=\"" (if ld (nth i ld) "") "\";"
      (if (= i 0) "active=true;" "")
      "allow_accept=true;"
      "}")
    hand)


  (write-line ":column{" hand)
  (setq i 1)
    (write-line
    (strcat
      ":edit_box"
      "{"
      "label=\"" (nth i propsdcl) "\";"
      "key=\"" (strcat "key" (itoa i)) "\";"
      "edit_width=10;"
      "value=\"" (if ld (nth i ld) "") "\";"
      (if (= i 0) "active=true;" "")
      "allow_accept=true;"
      "}")
    hand)
  (setq i 2)
  (write-line
    (strcat
      ":edit_box"
      "{"
      "label=\"" (nth i propsdcl) "\";"
      "key=\"" (strcat "key" (itoa i)) "\";"
      "edit_width=10;"
      "value=\"" (if ld (nth i ld) "") "\";"
      (if (= i 0) "active=true;" "")
      "allow_accept=true;"
      "}")
    hand)


  (write-line "}" hand) ; end column
  (write-line "}" hand) ; end row
  
  (mapcar '(lambda (x) (write-line x hand)) '(":spacer{width=1;}" "ok_cancel;" "}"))
  (close hand)
  ;;;;*******************************************************************
  
  (if (or (< (setq dcl_id (load_dialog (strcat (getenv "temp") dclfilename)))0)
	  (not (new_dialog dlgname dcl_id)))
    (exit)
    ) ;if

  (action_tile "accept"		"(setq lst (kd:dclget_done))")
  (action_tile "is_default"	"(setq lst (kd:dclget_done))")
  (action_tile "cancel" 	"(done_dialog 0)")
  (start_dialog)
  (unload_dialog dcl_id)
  lst
  );defun
PS - забыл объяснить - функция реализует диалоговое окно запроса текстовых параметров + запоминает последний ввод (если он был) и при последующих вызовах - подставляет значения предыдущего

отдает результаты ввода в виде списка стрингов '('first 'tup 'tdown) (для файла MLeader-For-Notes.LSP)

Последний раз редактировалось kakt00z, 15.05.2014 в 14:23.
kakt00z вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Lisp. Мультивыноска по ГОСТу

Реклама i


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу) Red Nova LISP 5022 02.07.2025 07:20
Lisp. Не вставляет значения в базу access. Zaghim LISP 2 11.07.2012 14:29
{Конкурс} Lisp. Задачки для студентов gomer LISP 10 05.01.2011 16:33
загрузка DOS прог через LISP Gaa LISP 15 12.08.2005 19:19