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

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

Как перенести часть чертежа с модели на лист

Ответ
Поиск в этой теме
Непрочитано 09.02.2013, 12:36 #1
Как перенести часть чертежа с модели на лист
ilia22
 
Регистрация: 11.04.2012
Сообщений: 15

Есть программа, которая строит в Автокаде 6 таблицу с данными. Нужно автоматизировать вывод этой таблицы с модели на листы. Подскажите как это можно реализовать. Заранее спасибо.
Просмотров: 13297
 
Непрочитано 09.02.2013, 14:38
#2
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


чем не устроили видовые экраны?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 09.02.2013, 14:56
#3
ilia22


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


Нужно на именно на листы, т.к. в дальнейшем нужно выводить на печать. А количество листов иногда переваливает за 10
ilia22 вне форума  
 
Непрочитано 09.02.2013, 14:59
#4
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от ilia22 Посмотреть сообщение
Нужно на именно на листы, т.к. в дальнейшем нужно выводить на печать. А количество листов иногда переваливает за 10
И что? Вы боитесь, что 10 видовых экранов, размещённых на 10 листах положат AutoCAD на лопатки?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 09.02.2013, 15:08
#5
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Если таблицы делать в листах то их будет столько-же сколько листов. А если таблица в модели то всего одна. Если таблицы для каждого листа разные то может быть и имеет смысл распологать их на листах, но это вызовет неудобство другого рода: рассматривая (дорабатывая, делая изменения) чертеж в модели теряется инфа, расположенная в листах, и надо скакать между пространствами
А по сабжу есть команда _Chspace
Vova вне форума  
 
Автор темы   Непрочитано 09.02.2013, 15:09
#6
ilia22


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


ок) А как это реализовать? Я прост не разбираюсь особо в лиспе.
ilia22 вне форума  
 
Непрочитано 09.02.2013, 15:11
#7
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от ilia22 Посмотреть сообщение
ок) А как это реализовать? Я прост не разбираюсь особо в лиспе.
Это не LISP, а основы оформления листов в AutoCAD. Программирование тут не причём. Или вы в уже существующий код хотите внести изменение, чтобы он и эти видовые экраны создавал?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 09.02.2013, 15:33
#8
ilia22


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


мне нужно автоматизировать вынесение данных на листы. Поэтому нужно все сделать в лиспе. На листы так я умею выносить))
ilia22 вне форума  
 
Непрочитано 09.02.2013, 16:02
#9
getr

Конструктор
 
Регистрация: 06.04.2005
Из тех ворот-откуда весь народ.
Сообщений: 357
<phrase 1=


->ilia22
попробуй применить лисп по ссылке http://lee-mac.com/copytolayouts.html
__________________
"Мнение не бывает ни истинным, ни ложным, а лишь полезным в жизни или бесполезным. ",- Ауробиндо
И не надо делать удивленных движений руками.
getr вне форума  
 
Автор темы   Непрочитано 09.02.2013, 17:08
#10
ilia22


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


а др вариантов нет?
ilia22 вне форума  
 
Непрочитано 09.02.2013, 17:14
#11
Кулик Алексей aka kpblc
Moderator

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


chspace из ExpressTools
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 09.02.2013, 17:16
#12
ilia22


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


не понял, поподробнее, если не затруднит
ilia22 вне форума  
 
Непрочитано 09.02.2013, 17:47
#13
getr

Конструктор
 
Регистрация: 06.04.2005
Из тех ворот-откуда весь народ.
Сообщений: 357
<phrase 1=


А чем тебе не понравился лисп CopytoLayouts.lsp?(пробовал хоть?)..он то и переносит указанные объекты из модели в лист..
Команда changespace из ExpressTools переносит объекты нарборот из листа в модель
Извиняюсь CopytoLayouts.lsp не переносит а копирует..
__________________
"Мнение не бывает ни истинным, ни ложным, а лишь полезным в жизни или бесполезным. ",- Ауробиндо
И не надо делать удивленных движений руками.

Последний раз редактировалось getr, 09.02.2013 в 17:57.
getr вне форума  
 
Непрочитано 09.02.2013, 17:58
#14
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,992


Цитата:
Сообщение от getr Посмотреть сообщение
Команда changespace из ExpressTools переносит объекты нарборот из листа в модель
Неправда. chspace переносит и туда и обратно.
Nike вне форума  
 
Непрочитано 09.02.2013, 18:18
#15
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,337


начиная с версии 2011 команда _chspace интегрирована в AutoCAD
Хмурый вне форума  
 
Непрочитано 09.02.2013, 18:58
#16
getr

Конструктор
 
Регистрация: 06.04.2005
Из тех ворот-откуда весь народ.
Сообщений: 357
<phrase 1=


->Nike
Согласен,- переносит,если находишься в пространстве листа и активен видовой экран...а если находишься в модели то команда не работает
__________________
"Мнение не бывает ни истинным, ни ложным, а лишь полезным в жизни или бесполезным. ",- Ауробиндо
И не надо делать удивленных движений руками.
getr вне форума  
 
Непрочитано 09.02.2013, 19:02
1 | #17
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,992


ilia22, можно воспользоваться этим - http://forum.dwg.ru/showpost.php?p=484545&postcount=8
Nike вне форума  
 
Автор темы   Непрочитано 09.02.2013, 19:56
#18
ilia22


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


Может еще кто подскажет как новые листы создавать через lisp?
ilia22 вне форума  
 
Непрочитано 09.02.2013, 20:00
#19
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,992


Код:
[Выделить все]
 ;;;CADALYST 06/06  Tip2126:  vplo.lsp  Viewport Layouts   (c) 2006 Phil Tingsley 


(defun c:vplo (/ vpl vplyes l0 ln layers cp cl cs ofs vpc1 vpc2 vpxd vpyd vpc svpc ssvp ssvp1 sf lpno vpno ssnum vpent nvpc1 nvpc2 nvpc1x nvpc1y nvpc2x nvpc2y)
	; Creates layout of Paper Space viewports of specified 2D orthagonal views from Model Space
	; Used when all 2D design is done in Model Space at full scale and all dimensioning is done in Paper Space as associated scale
	; Start command from destination layout tab
	; Program will switch to Model Space for selection of desired objects
	; Program will return to layout tab for creation of viewport frames
	; First a single viewport is made that includes all relevant views of desired part at the desired zoom level
	; The single viewport is copied over itself the number of desired separate views
	; Then the overlaying viewports are individually clipped to the edges of the separate views
	; The separate views will maintain their original orientation and alignment
	; The separate views can be rectangular by specifying opposite corners or circular by specifying a center and radius
	; Afterwards move the individual views orthogonally, if needed, to allow space for dimensions
  (setvar "cmdecho" 0) ; Turn off command line echoing
  (setq cp (getvar "ctab")) ; Store current tab name
  (setq cl (getvar "clayer")) ; Store current layer name
  (setq cs (getvar "osmode")) ; Store current osnap mode
  (setq vpl "Viewport") ; ==>> Assume using Viewport layer for viewport frames, change code value here if needed <<==
  (setq ofs 0.125) ; ==>> Set viewport border offset from actual detail, change code value here if needed <<==
  (setvar "osmode" 2559) ; Turn osnap on
  (if (/= cp "Model") ; Must be started from a layout tab to establish destination, quit quietly if on Model tab
    (progn
      (princ "\n") ; Clean up command line
      (setq vplyes 0) ; Assume viewport doesn't exist
      (setq l0 (tblnext "LAYER" 1)) ; Get past 0 layer in layer list
      (while (setq layers (tblnext "LAYER")) ; Loop through layer list collection
        (setq ln (cdr (assoc 2 layers))) ; Extract layer name from list
        (if (= (strcase ln) (strcase vpl)) (setq vplyes 1)) ; Check if viewport layer exists
      )
      (if (= vplyes 0) (command "layer" "NEW" vpl "COLOR" "MAGENTA" vpl "")) ; Make viewport layer and assign color to magenta if doesn't exist
      (setvar "clayer" vpl) ; Change to viewport layer
      (command "layer" "ON" (strcat "0," vpl) "UNLOCK" (strcat "0," vpl) "") ; Turn on and unlock viewport and 0 layer
      (command "zoom" "ALL") ; View entire layout tab
      (setvar "ctab" "Model") ; Activate Model tab
      (command "zoom" "ALL") ; View entire Model Space area
      (setq vpc1 (getpoint "\nSpecify first corner of model space window area: ")) ; Just pick rough area including all relavent details, will fine-tune border area later in Paper Space
      (if vpc1 ; Quietly quit if no point specified
	(progn
          (setq vpc2 (getcorner vpc1 "\nSpecify opposite corner of model space window area: ")) ; Window rectangle can be designated in any direction
          (if vpc2 ; Quietly quit if no point specified
	    (progn
              (princ "\n") ; Clean up command line
              (setvar "ctab" cp) ; Return to layout tab program was started from
              (command "pspace") ; Switch to Paper Space of layout tab
              (setq svpc (getpoint "\nSpecify destination of paper space viewport center: ")) ; Can't change layout tabs manually here
	      (if svpc ; Quietly quit if no point specified
		(progn
		  (setq sf (getreal "\nViewport zoom scale factor <1.0>: ")) ; Default to full-scale if no value is inputted
		  (if (= sf nil) (setq sf 1.0) (setq sf (abs sf))) ; Make sure scale factor is positive number
                  (setq vpxd (* sf (abs (- (car vpc2) (car vpc1))))) ; Determine horizontal length of selected window
                  (setq vpyd (* sf (abs (- (cadr vpc2) (cadr vpc1))))) ; Determine vertical height of selected window
                  (setq vpc (list (/ (+ (car vpc1) (car vpc2)) 2.0) (/ (+ (cadr vpc1) (cadr vpc2)) 2.0) 0.0)) ; Determine center point of selected model window
                  (command "mview" (list (- (car svpc) (/ vpxd 2.0)) (- (cadr svpc) (/ vpyd 2.0))) (strcat "@" (rtos vpxd) "," (rtos vpyd))) ; Create Paper Space viewport
                  (setq ssvp (ssget "L")) ; Start selection set with last viewport frame
		  (setq ssvp1 (ssget "L")) ; Another copy of viewport frame selection set
                  (command "mspace") ; Open viewport window to Model Space
                  (command "ucsicon" "ON") ; Turn on UCS icon for viewport
                  (command "ucs" "WORLD") ; Reset UCS to WCS
                  (command "zoom" "C" vpc (rtos vpyd)) ; Center view of viewport window using determined point
                  (command "zoom" "SCALE" (strcat (rtos sf) "XP")) ; Set zoom scale of viewport window
		  (command "vports" "LOCK" "ON" ssvp "") ; Lock scale and position of model in viewport
                  (command "pspace") ; Close viewport window
		  (command "zoom" (list (- (car svpc) (/ vpxd 2.0)) (- (cadr svpc) (/ vpyd 2.0))) (strcat "@" (rtos vpxd) "," (rtos vpyd))) ; Zoom in on just created viewport extremes
		  (command "zoom" "0.95X") ; Back zoom off slightly to see edges clearly
                  (setq lpno 2) ; Loop counter for making separate viewports
                  (setq vpno (getint "\nNumber of separate viewports to make from this viewport <1>: ")) ; Will divide single viewport into separate viewports for othagonal views of 2D part
                  (if (>= vpno 2) ; Proceed to copy current viewport if 2 or more separate viewports desired
                    (progn
                      (while (<= lpno vpno) ; Check if viewport loop counter less than number of viewports desired
                        (command "copy" ssvp "" "0,0" "@0,0") ; Make copy of new viewport laying exactly on top of first viewport
                        (setq lpno (1+ lpno)) ; Increment viewport loop counter
			(ssadd (entlast) ssvp1) ; Add viewport copy to selection set
		      )
		    )
		  )
                  (setq ssnum 0) ; Loop counter for fine-tuning separate viewports
                  (while (< ssnum (sslength ssvp1)) ; Opportunity to fine-tune each separate viewport border
		    (setq vpent (ssname ssvp1 ssnum)) ; Get entity name of next viewport in selection set
		    (if (>= vpno 2) ; Check for multiple viewports
		      (setq clt (strcat " #" (rtos (+ ssnum 1) 2 0))) ; Make command prompt string if using multiple viewports
		      (setq clt "") ; Make command prompt string if using single viewport
		    )
                    (initget 128) ; Enable string responses from point prompt
		    (setq nvpc1 (getpoint (strcat "\nSpecify first corner of viewport" clt " window area or [Center point of circle]: "))) ; Pick actual part corner, program will apply offset
		    (if nvpc1 ; Will repeat asking for first corner if none specified
		      (progn
                        (if (= 'STR (type nvpc1)) ; Check if string was inputted instead of corner point
                          (progn
                            (if (= "C" (strcase (substr nvpc1 1 1))) ; Check if asking for circular viewport area
			      (progn
				(setq nvpc1 (getpoint (strcat "\nSpecify center of viewport" clt " window area: "))) ; Pick center of separate circular viewport window
				(if nvpc1 ; Will return to asking for first corner if center not specified
				  (progn
                                    (setvar "osmode" 0) ; Turn osnap off
				    (princ (strcat "\nSpecify radius of viewport" clt " window area: ")) ; Make command prompt for circle viewport
				    (command "circle" nvpc1 pause) ; Make circle to clip existing viewport
			            (setvar "osmode" 2559) ; Turn osnap on
			            (setq ssvp (ssget "L")) ; Select last circle
			            (command "vpclip" vpent ssvp) ; Clip existing viewport to circle
			            (setq ssnum (1+ ssnum)) ; Increment fine-tuned viewport loop counter
				  )
				)
			      )
			    )
			  )
			  (progn
			    (setq nvpc2 (getcorner nvpc1 (strcat "\nSpecify opposite corner of viewport" clt " window area: "))) ; Window rectangle can be designated in any direction, pick actual part corner, program will apply offset
			    (if nvpc2 ; Will repeat asking for first corner if none specified
			      (progn
                                (setq nvpc1x (car nvpc1)) ; Find X portion of first corner
                                (setq nvpc1y (cadr nvpc1)) ; Find Y portion of first corner
	                        (setq nvpc2x (car nvpc2)) ; Find X portion of second corner
                                (setq nvpc2y (cadr nvpc2)) ; Find Y portion of second corner
			        (if (> nvpc2x nvpc1x) ; Determine horizontal direction of viewport window rectangle
  			          (progn
			            (setq nvpc2x (+ nvpc2x ofs)) ; Add horizontal offset to right of specified left-to-right window rectangle
			            (setq nvpc1x (- nvpc1x ofs)) ; Add horizontal offset to left of specified left-to-right window rectangle
			          )
			          (progn
  			            (setq nvpc2x (- nvpc2x ofs)) ; Add horizontal offset to left of specified right-to-left window rectangle
			            (setq nvpc1x (+ nvpc1x ofs)) ; Add horizontal offset to right of specified right-to-left window rectangle
			          )
			        )
			        (if (> nvpc2y nvpc1y) ; Determine vertical direction of viewport window rectangle
 			          (progn
			            (setq nvpc2y (+ nvpc2y ofs)) ; Add vertical offset to top of specified lower-to-upper window rectangle
			            (setq nvpc1y (- nvpc1y ofs)) ; Add vertical offset to bottom of specified lower-to-upper window rectangle
			          )
			          (progn
			            (setq nvpc2y (- nvpc2y ofs)) ; Add vertical offset to bottom of specified upper-to-lower window rectangle
			            (setq nvpc1y (+ nvpc1y ofs)) ; Add vertical offset to top of specified upper-to-lower window rectangle
			          )
			        )
			        (setvar "osmode" 0) ; Turn osnap off
			        (command "rectang" (list nvpc1x nvpc1y) (list nvpc2x nvpc2y)) ; Make rectangle with offset to clip existing viewport
			        (setvar "osmode" 2559) ; Turn osnap on
			        (setq ssvp (ssget "L")) ; Select last rectange
			        (command "vpclip" vpent ssvp) ; Clip existing viewport to rectangle
			        (setq ssnum (1+ ssnum)) ; Increment fine-tuned viewport loop counter
			      )
			    )
			  )
			)
	              )
		    )
		  )
                )  
              )
            )
	  )
	)
      )
    )
    (princ "\nThis command must be started from a layout sheet!") ; Need to start on a layout tab so program knows where to create the new viewports
  )
  (setvar "ctab" cp) ; Reset to stored tab name
  (setvar "clayer" cl) ; Reset to stored layer name
  (setvar "osmode" cs) ; Reset to stored osnap mode
  (setvar "cmdecho" 1) ; Turn on command line echoing
  (princ) ; Clean up and exit
)
Nike вне форума  
 
Автор темы   Непрочитано 10.02.2013, 13:01
#20
ilia22


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


ругается при выполнении скинутого листинга: Не известная команда "@16.2444,11.0905". Для справки нажмите F1.
; ошибка: неверная строка режима ssget
ilia22 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как перенести часть чертежа с модели на лист

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В модели объект ОТМЕТКИ показывает нормально а при печати или компоновки на лист увеличивает -почему ? mvart AutoCAD 5 20.03.2012 10:40
Как перенести место крепежа с деталей на лист? AlexSVC Другие CAD системы 7 05.11.2009 16:16
Как скопировать часть модели вместе с листами ? fastline AutoCAD 5 07.09.2009 00:12
Ищу листы Специальной карты Европейской России М:1дюйм-10верст KSI Поиск литературы, чертежей, моделей и прочих материалов 6 19.04.2009 12:04
Как промаштабировать часть чертежа? Alex_D AutoCAD 3 01.07.2006 18:53