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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Преобразование таблиц из "старых" версий в таблицы AutoCAD 2008

Преобразование таблиц из "старых" версий в таблицы AutoCAD 2008

Закрытая тема
Поиск в этой теме
Непрочитано 09.12.2009, 12:07 #1
Преобразование таблиц из "старых" версий в таблицы AutoCAD 2008
cancercat
 
инженер-преподаватель ;-)
 
Санкт-Петербург
Регистрация: 14.10.2008
Сообщений: 1,999

Господа, кто-нибудь пробовал это делать? Есть таблицы, сделанные, если не ошибаюсь, в 2002 или даже 2000 версии. То есть отрезками и однострочным текстом. Есть ли какие-нибудь возможности их преобразовать в примитивы Акад 2008 _table автоматически? Желательно, без использования ЛИСП, поскольку на моей машине LT версия стоит. Впрочем, я могу сходить и в другой отдел, если понадобится, но хотелось бы попроще...
Просмотров: 39199
 
Непрочитано 10.12.2009, 02:35
#2
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Вот найдешь Деда Мороза - проси его. Только он на такое способен - без лиспа чудеса творить
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Автор темы   Непрочитано 10.12.2009, 09:26
#3
cancercat

инженер-преподаватель ;-)
 
Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999


Дед Мороз - из области ненаучной фантастики. Нам лиспик маленький в качестве подарка - и ладно...
cancercat вне форума  
 
Непрочитано 10.12.2009, 09:53
#4
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Обведи поверх...
Profan вне форума  
 
Непрочитано 10.12.2009, 09:54
#5
casaatik

Проектирование
 
Регистрация: 14.09.2007
Киев
Сообщений: 147


Встречал вот такую
DWG Table Converter Russian для AutoCAD
В описании пишут "Автоматическое преобразование таблиц выполненных с помощью полилиний, линий, текста и т.д. в Excel и в новый формат таблиц Автокада",
а еще ЗдесЯ посмотри может оно)))))))))
casaatik вне форума  
 
Непрочитано 10.12.2009, 14:55
#6
Кулик Алексей aka kpblc
Moderator

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


Еще вариант: распечатать в pdf и потом через FineReader распознать в Excel.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 10.12.2009, 15:00
#7
Walkmax


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


Есть прекрасный пакет программ-дополнений, называется ToolPac,
в нём данное преобразование осуществляется наиболее приемлемо
Walkmax вне форума  
 
Непрочитано 10.12.2009, 15:07
#8
zenon

Остекляем!!! Алюминим!!!
 
Регистрация: 21.02.2005
Москва
Сообщений: 3,924
<phrase 1=


Walkmax, оне в LT версии работать не будет?
ps и собсно не всегда срабатывает, почему-то?
__________________
Мы можем делать быстро, качественно и недорого, выбирайте любые 2 условия.:search:
zenon вне форума  
 
Автор темы   Непрочитано 10.12.2009, 23:55
#9
cancercat

инженер-преподаватель ;-)
 
Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999


casaatik, спасибо. По ходу, что надо. Ладно, будем работать дома, коль на работе шеф денег на полную версию жадничает...
Кулик Алексей aka kpblc, из Рязани в Москву через Китай?
Profan, а как это - обвести поверх?
Walkmax, и где его брать? Хоть бы ссылку кинул, что ли...
cancercat вне форума  
 
Непрочитано 11.12.2009, 00:27
#10
Кулик Алексей aka kpblc
Moderator

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


ToolPac в гугле
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 11.12.2009, 06:04
#11
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


cancercat, да раз Лиспа нет, то фактически заново сделать...
Profan вне форума  
 
Автор темы   Непрочитано 11.12.2009, 09:26
#12
cancercat

инженер-преподаватель ;-)
 
Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999


Profan, будем думать...
Кулик Алексей aka kpblc, ссылка бесполезна. Ничего конкретно, только обсуждения. А к торренту я не подключен...
cancercat вне форума  
 
Непрочитано 11.12.2009, 15:50
#13
kheylan


 
Регистрация: 24.05.2009
Екатеринбург
Сообщений: 86


В личку! /Солидворкер/

Последний раз редактировалось Солидворкер, 11.12.2009 в 19:00.
kheylan вне форума  
 
Автор темы   Непрочитано 21.04.2010, 16:23 DWG Table Converter Russian для AutoCAD 2010
#14
cancercat

инженер-преподаватель ;-)
 
Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999


Вопрос, собственно, в том, работает ли утилита по преобразованию таблиц в 2010? Или она работает исключительно в 2008-м? Кто-нибудь сталкивался, пробовал? У меня листинг выполнения следующий:
Команда: _appload
MakeTable.LSP успешно загружено.
Команда:
MAKETABLE by Tony Hotchkiss, enter MTB to start:
Команда:
Команда: mtb
Select old table with a window: Upper left point:
Команда:
Lower right point:
Команда:
Команда: Выполняется регенерация листов.
Выполняется регенерация модели.
Команда:
Команда: MAKETABLE Error: ActiveX Server возвратил ошибку: Параметр является
обязательным
Проблема в ЛИСП-файле или у меня в системе?
cancercat вне форума  
 
Непрочитано 28.09.2010, 09:11
#15
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


cancercat, в лиспе ошибочка
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Автор темы   Непрочитано 28.09.2010, 16:13
#16
cancercat

инженер-преподаватель ;-)
 
Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999


wetr, спасибо. Только вот кто бы это всё на русский перевёл...
cancercat вне форума  
 
Непрочитано 29.09.2010, 01:55
#17
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


вот лисп подправленный
Код:
[Выделить все]
;;; CADALYST 03/08  www.cadalyst.com/code 
;;; Tip ALSPSOL0308:  MakeTable.LSP	Convert Old Table Data to New Table Format 	
;;; (c) 2008 Tony Hotchkiss and Cadalyst
;;;
;;; Purpose:  	A program to convert lines and text  ;;;
;;; into a table object. The orignal text may be single line ;;;
;;; or Mtext.  Lines may be polylines and may overlap        ;;;
;;; Program by Tony Hotchkiss November 2007                  ;;;

(defun err (s)
  (if (= s "Function cancelled")
    (princ (strcat "\MAKETABLE cancelled - "
		   "thank you for using MAKETABLE"
	   ) ;_ end of strcat
    ) ;_ end of princ
    (progn (princ "\MAKETABLE Error: ")
	   (princ s)
	   (terpri)
    ) ;_ end of progn
  ) ;_ end of if
  (resetting)
  (princ)
) ;_ end of err
(defun setv (systvar newval / x)
  (setq x (read (strcat systvar "1")))
  (set x (getvar systvar))
  (setvar systvar newval)
) ;_ end of setv
(defun setting ()
  (setq oerr *error*)
  (setq *error* err)
  (setv "BLIPMODE" 0)
  (setv "CMDECHO" 0)
) ;_ end of setting
(defun rsetv (systvar)
  (setq x (read (strcat systvar "1")))
  (setvar systvar (eval x))
) ;_ end of rsetv
(defun resetting ()
  (rsetv "BLIPMODE")
  (rsetv "CMDECHO")
  (setq *error* oerr)
) ;_ end of resetting

(defun GetOldTable ()
  (vl-load-com)
  (setq	*thisdrawing* (vla-get-activedocument
			(vlax-get-acad-object)
		      ) ;_ end of vla-get-activedocument
	*modelspace*  (vla-get-ModelSpace *thisdrawing*)
	*utility*     (vla-get-Utility *thisdrawing*)
  ) ;_ end of setq
  (setq	ssets	  (vla-get-selectionsets *thisdrawing*)
	ssetcount (vla-get-count ssets)
  ) ;_ end of setq
  (if (> ssetcount 0)
    (repeat ssetcount
      (vla-delete (vla-item ssets 0))
    ) ;_ end of repeat
  ) ;_ end of if
  (setq	p1 (vla-GetPoint
	     *utility*
	     nil
	     (vlax-make-variant
	       "\nSelect old table with a window: Upper left point: "
	     ) ;_ end of vlax-make-variant
	   ) ;_ end of vla-getpoint
  ) ;_ end of setq
  (setq	p2 (vla-GetCorner
	     *utility*
	     p1
	     (vlax-make-variant "\nLower right point: ")
	   ) ;_ end of vla-getcorner
  ) ;_ end of setq
  (setq ssobjprelim (vla-add ssets "selection1"))
  (vla-select ssobjprelim acSelectionSetCrossing p1 p2)
  (setq	count  (vla-get-count ssobjprelim)
	i      (- 1)
	lwplst nil
  ) ;_ end of setq
  (repeat count
    (setq obj (vla-item ssobjprelim (setq i (1+ i))))
    (if	(= (vla-get-objectname obj) "AcDbPolyline")
      (progn
	(setq exlwp (vla-explode obj))
	(vla-delete obj)
      ) ;_ end of progn
    ) ;_ end of if
  ) ;_ end of repeat
  (vla-regen *thisdrawing* acAllViewports)
  (setq ssobj (vla-add ssets "selection2"))
  (vla-select ssobj acSelectionSetCrossing p1 p2)
  (MakeTable ssobj)
) ;_ end of GetOldTable

(defun MakeTable (ss1)
  (setq	count	  (vla-get-count ss1)
	lineslist (get-lines ss1 count)
	txtlist  (get-text ss1 count)
	textlist (car txtlist)
	mtextlist (cadr txtlist)
	rows-cols (get-rowscols lineslist)
	horlines  (car rows-cols)
	rowlines  (sort-lines horlines "X")
	vertlines (cadr rows-cols)
	collines  (sort-lines vertlines "Y")
	tlist nil
	mtlist nil
  ) ;_ end of setq
  (setq	rowlines2 (do-dupes rowlines 1)
	collines2 (do-dupes collines 2)
  ) ;_ end of setq
  (setq	rowlines3 (vl-sort
		   rowlines2
		   (function (lambda (e1 e2)
			       (> (cadar e1) (cadar e2)) ; descending in Y
			     ) ;_ end of lambda
		   ) ;_ end of function
		 ) ;_ end of vl-sort
  ) ;_ end of setq
  (setq	collines3 (vl-sort
		   collines2
		   (function (lambda (e1 e2)
			       (< (caar e1) (caar e2)) ; ascending in X
			     ) ;_ end of lambda
		   ) ;_ end of function
		 ) ;_ end of vl-sort
  ) ;_ end of setq
  (if textlist
    (setq tlist (get-txtmtxt textlist))
    (setq tlist (get-txtmtxt mtextlist))
  ) ;_ end of if
  (setq	rows	  (- (length rowlines3) 1)
	cols	  (- (length collines3) 1)
	RowHeight (distance (car (nth 1 rowlines3)) (car (nth 2 rowlines3)))
	ColWidth  (distance (car (nth 0 collines3)) (car (nth 1 collines3)))
  ) ;_ end of setq
  (setq	tableobj (vla-AddTable
		   *modelspace*
		   (vlax-3D-point (caar collines3))
		   rows
		   cols
		   RowHeight
		   ColWidth
		 ) ;_ end of vla-AddTable
  ) ;_ end of setq
  (vla-put-RegenerateTableSuppressed tableobj :vlax-True)
  (vla-UnmergeCells tableobj 0 0 0 (- cols 1))
  (setq lyr (vla-get-Layer  (nth 0 horlines)))
  (vla-put-layer tableobj lyr)
  (populate-table tableobj tlist rowlines3 collines3)
  (if (> cols 6)
    (progn
      (vla-MergeCells tableobj 0 0 0 5)
      (vla-MergeCells tableobj 0 0 6 7)
    ) ;_ end of progn
    (vla-MergeCells tableobj 0 0 0 (- cols 1))
  ) ;_ end of if
  (vla-put-RegenerateTableSuppressed tableobj :vlax-False)
  (vla-erase ss1)
) ;_ end of MakeTable

(defun get-lines (ss num)
  (setq	i (- 1)
	linelst	nil
  ) ;_ end of setq
  (repeat num
    (setq obj (vla-item ss (setq i (1+ i))))
    (if	(= (vla-get-objectname obj) "AcDbLine")
      (setq linelst (append linelst (list obj)))
    ) ;_ end of if
  ) ;_ end of repeat
  linelst
) ;_ end of get-lines

(defun get-text (ss num)
  (setq	i (- 1)
	textlst	nil
	mtextlst nil
  ) ;_ end of setq
  (repeat num
    (setq obj (vla-item ss (setq i (1+ i))))
    (if	(= (vla-get-objectname obj) "AcDbText")
      (setq textlst (append textlst (list obj)))
    ) ;_ end of if
    (if	(= (vla-get-objectname obj) "AcDbMText")
      (setq mtextlst (append mtextlst (list obj)))
    ) ;_ end of if
  ) ;_ end of repeat
  (list textlst mtextlst)
) ;_ end of get-lines

(defun get-rowscols (llist)
  (setq	j (- 1)
	vertlist nil
	horlist	nil
	junklist nil
	junklist2 nil
	fuzz 0.1
  ) ;_ end of setq
  (repeat (length llist)
    (setq obj (nth (setq j (1+ j)) llist))
    (setq xstart (vlax-safearray-get-element
		   (vlax-variant-value (vla-get-StartPoint obj))
		   0
		 ) ;_ end of vlax-safearray-get-element
	  xend	 (vlax-safearray-get-element
		   (vlax-variant-value (vla-get-EndPoint obj))
		   0
		 ) ;_ end of vlax-safearray-get-element
	  ystart	 (vlax-safearray-get-element
		   (vlax-variant-value (vla-get-StartPoint obj))
		   1
		 ) ;_ end of vlax-safearray-get-element
	  yend	 (vlax-safearray-get-element
		   (vlax-variant-value (vla-get-EndPoint obj))
		   1
		 ) ;_ end of vlax-safearray-get-element
    ) ;_ end of setq
    (cond ((and (equal xstart xend fuzz) (equal ystart yend fuzz))
	   (setq junklist (append junklist (list obj)))
	  )
	  ((and (equal xstart xend fuzz) (not (equal ystart yend fuzz)))
	   (setq vertlist (append vertlist (list obj)))
	  )
	  ((and (not (equal xstart xend fuzz)) (equal ystart yend fuzz))
	   (setq horlist (append horlist (list obj)))
	  )
	  (t (setq junklist2 (append junklist2 (list obj))))
    ) ;_ end of cond
  ) ;_ end of repeat
  (list horlist vertlist junklist)
) ;_ end of get-rowscols

(defun get-txtmtxt (tlist)
  (setq	j (- 1)
	textlist nil
  ) ;_ end of setq
  (repeat (length tlist)
    (setq obj (nth (setq j (1+ j)) tlist))
    (setq inspt	    (vlax-variant-value (vla-get-InsertionPoint obj))
	  txtstr    (vla-get-TextString obj)
	  stylename (vla-get-StyleName obj)
	  txtht	    (vla-get-Height obj)
    ) ;_ end of setq
    (setq textlist
	   (append textlist (list txtstr inspt stylename txtht))
    ) ;_ end of setq
  ) ;_ end of repeat
  (list textlist)
) ;_ end of get-txtmtxt

(defun do-dupes	(rclst rc)
  (setq	item (car rclst)
	i    (- 1)
	len1 nil
	len2 nil
  ) ;_ end of setq
  (while item
    (if	(and len2 (> len1 len2))
      (setq i (- i (- len1 len2)))
    ) ;_ end of if
    (if (< i 0) (setq i (- 1)))
    (setq len1 (length rclst))
    (setq item (nth (setq i (1+ i)) rclst))
    (if	item
      (progn
	(setq rclst (myvl-remove item rclst))
	(setq rclst (append rclst (list item)))
	(setq len2 (length rclst))
      ) ;_ end of progn
    ) ;_ end of if
  ) ;_ end of while
  (setq newlist rclst)
) ;_ end of do-dupes

(defun myvl-remove (item llst)
  (setq j (- 1))
  (repeat (length llst)
    (setq item2 (nth (setq j (1+ j)) llst))
    (if	(equal item item2 fuzz)
      (setq llst (vl-remove item2 llst))
    ) ;_ end of if
  ) ;_ end of repeat
  llst
) ;_ end of myvl-remove

(defun sort-lines (llst *axis*)
  (setq	endpts nil
	plist nil
	j (- 1)
  ) ;_ end of setq
  (repeat (length llst)
    (setq obj (nth (setq j (1+ j)) llst))
    (setq xstart (vlax-safearray-get-element
		   (vlax-variant-value (vla-get-StartPoint obj))
		   0
		 ) ;_ end of vlax-safearray-get-element
	  xend	 (vlax-safearray-get-element
		   (vlax-variant-value (vla-get-EndPoint obj))
		   0
		 ) ;_ end of vlax-safearray-get-element
	  ystart (vlax-safearray-get-element
		   (vlax-variant-value (vla-get-StartPoint obj))
		   1
		 ) ;_ end of vlax-safearray-get-element
	  yend	 (vlax-safearray-get-element
		   (vlax-variant-value (vla-get-EndPoint obj))
		   1
		 ) ;_ end of vlax-safearray-get-element
    ) ;_ end of setq
    (if	(equal xstart xend fuzz)
      (progn
	(if (< ystart yend)
	  (setq	temp ystart
		ystart yend
		yend temp
	  ) ;_ end of setq
	) ;_ end of if
      ) ;_ end of progn
      (progn
	(if (< xstart xend)
	  (setq	temp xstart
		xstart xend
		xend temp
	  ) ;_ end of setq
	) ;_ end of if
      ) ;_ end of progn
    ) ;_ end of if
    (setq p10 (list xstart ystart))
    (setq p11 (list xend yend))
    (setq endpts (list p10 p11))
    (setq plist (append plist (list endpts)))
  ) ;_ end of repeat
  (if (= *axis* "X")
    (progn
      (setq orderlist (vl-sort
			plist
			(function (lambda (e1 e2)
				    (< (cadar e1) (cadar e2))
				  ) ;_ end of lambda
			) ;_ end of function
		      ) ;_ end of vl-sort
      ) ;_ end of setq
    ) ;_ end of progn
    (progn
      (setq orderlist
	     (vl-sort plist
		      (function	(lambda	(e1 e2)
				  (< (caar e1) (caar e2))
				) ;_ end of lambda
		      ) ;_ end of function
	     ) ;_ end of vl-sort
      ) ;_ end of setq
    ) ;_ end of progn
  ) ;_ end of if
) ;_ end of sort-lines

(defun populate-table (tobj tlist rowlines collines)
  (setq	i    (- 1)
	data (car tlist)
  ) ;_ end of setq
  (repeat (/ (length data) 4)
    (setq txtstr    (car data)
	  inspt	    (vlax-safearray->list (cadr data))
	  textstyle (caddr data)
	  txtht	    (cadddr data)
	  rowcol    (get-rowcol inspt rowlines collines)
	  row	    (car rowcol)
	  col	    (cadr rowcol)
	  rowheight (caddr rowcol)
	  colwidth  (cadddr rowcol)
    ) ;_ end of setq
    (if	(= txtstr "DESCRIPTION")
      (setq colleft col)
      (setq colleft 0)
    ) ;_ end of if
    (if	(= row 0)
      (progn
	(if (< col 5)
	  (progn
	    (vla-SetText tobj 0 0 txtstr)
	    (vla-SetCellTextStyle tobj 0 0 textstyle)
	    (vla-SetCellTextHeight tobj 0 0 txtht)
	  ) ;_ end of progn
	  (progn
	    (if	(> (length collines) 7)
	      (progn
		(vla-SetText tobj 0 6 "CALCULATED CABLE DISTANCE")
		(vla-SetCellTextStyle tobj 0 6 textstyle)
		(vla-SetCellTextHeight tobj 0 6 txtht)
	      ) ;_ end of progn
	    ) ;_ end of if
	  ) ;_ end of progn
	) ;_ end of if
      ) ;_ end of progn
      (progn
	(vla-SetText tobj row col txtstr)
      ) ;_ end of progn
    ) ;_ end of if
    (vla-SetCellTextHeight tobj row col txtht)
    (vla-SetColumnWidth tobj col colwidth)
    (vla-SetRowHeight tobj row rowheight)
    (vla-SetCellTextStyle tobj row col textstyle)
    (repeat 4
      (setq data (cdr data))
    ) ;_ end of repeat
  ) ;_ end of repeat
  (setq j 1)
  (repeat (- (length rowlines) 3)
      (vla-SetCellAlignment tobj (setq j (1+ j)) colleft acMiddleLeft)
  ) ;_ end of repeat
) ;_ end of populate-table

(defun get-rowcol (ipt rowlines collines)
  (setq	j (- 1)
	k (- 1)
	rowlin1	nil
	rowlin2	nil
	row nil
  ) ;_ end of setq
  (repeat (length rowlines)
    (setq rowlin1 (nth (setq j (1+ j)) rowlines)
	  rowlin2 (nth (1+ j) rowlines)
    ) ;_ end of setq
    (if	(and (> (cadar rowlin1) (cadr ipt))
	     (< (cadar rowlin2) (cadr ipt))
	) ;_ end of and
      (progn
	(setq row j)
	(setq rht (- (cadar rowlin1) (cadar rowlin2)))
      ) ;_ end of progn
    ) ;_ end of if
  ) ;_ end of repeat
  (repeat (length collines)
    (setq collin1 (nth (setq k (1+ k)) collines)
	  collin2 (nth (1+ k) collines)
    ) ;_ end of setq
    (if	(and (< (caar collin1) (car ipt))
	     (> (caar collin2) (car ipt))
	) ;_ end of and
      (progn
	(setq col k)
	(setq cwid (- (caar collin2) (caar collin1)))
      ) ;_ end of progn
    ) ;_ end of if
  ) ;_ end of repeat
  (list row col rht cwid)
) ;_ end of get-rowcol

(defun c:mtb ()
  (setting)
  (GetOldTable)
  (resetting)
  (princ)
) ;_ end of c:tse
;(prompt "\nMAKETABLE by Tony Hotchkiss, enter MTB to start: ")
;(princ)
Работать стал, но результат... неудовлетворительный
Из всех способов переделки (maketable, toolpac, dataextraction) у меня получилось сделать только с помощью dataextraction, но способ этот очень трудоемкий. Проще вручную иногда обвести
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 29.09.2010, 08:11
#18
Кулик Алексей aka kpblc
Moderator

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


http://dwg.ru/dnl/6638
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 29.09.2010, 14:27
#19
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Кулик Алексей aka kpblc, чесно скажу не пробовал, но судя по названию функции
Цитата:
-PL_export-to-excel Функция экспорта данных из таблиц «нарисованных» примитивами, из Autocad в Excel, версия: 0.95
это не то что нужно.
Или я ошибаюсь?
ЗЫ Мне не нужно в эксель. Нужно сделать таблицу как примитив автокада
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 29.09.2010, 14:36
#20
Кулик Алексей aka kpblc
Moderator

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


В крайнем случае экспортировать в Excel, там копировать в буфер и в AutoCAD - специальная вставка как примитива TABLE
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 29.09.2010, 18:05
#21
cancercat

инженер-преподаватель ;-)
 
Регистрация: 14.10.2008
Санкт-Петербург
Сообщений: 1,999


Кулик Алексей aka kpblc, из Рязани в Москву через Китай?
cancercat вне форума  
 
Непрочитано 29.09.2010, 21:05
#22
kheylan


 
Регистрация: 24.05.2009
Екатеринбург
Сообщений: 86


Самая лучшая программа для конвертации таблиц из линий и текста, которая мне попадалась TableBuilder for AutoCAD ссылка
работает месяц, но за это время можно сконвертировать все, что накопилось
kheylan вне форума  
 
Непрочитано 30.09.2010, 04:34
#23
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


kheylan, как бэ тоже не сахар.
После конвертации ширина столбца получилась 8.5000E+19!!!
После команды показать все, я зуммировал 5 мин, так и не приблизил
***Добавлено***
Получил приемлимый результат, НО... триал версия переворачивает весь текст задом на перед...
Кстати получилось, только когда взорвал старую таблицу. Программа наверно не понимает мтекст и полилинии
***Добавлено2***
Заработало)))
Результатом полностью удовлетворен!!!
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)

Последний раз редактировалось wetr, 30.09.2010 в 05:03.
wetr вне форума  
 
Непрочитано 29.10.2010, 10:34
#24
Mikhail

инженер-технолог (ГИП)
 
Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,147


Цитата:
Сообщение от wetr Посмотреть сообщение
***Добавлено***
Получил приемлимый результат, НО... триал версия переворачивает весь текст задом на перед...
Кстати получилось, только когда взорвал старую таблицу. Программа наверно не понимает мтекст и полилинии
***Добавлено2***
Заработало)))
Результатом полностью удовлетворен!!!
Раз уж заработало, то можно ли узнать, решения вышеописаных проблемм?
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты.
Mikhail вне форума  
 
Непрочитано 29.10.2010, 12:22
#25
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,537
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Mikhail, все же написано.
Лучшая программа для перевода таблиц начерченных линиями и текстом в таблицы автокада - TableBuilder, как и советовал kheylan
Для того чтобы стало красиво, иногда приходиться взорвать таблицу, т.к. в ней бывают и текст и мтекст. И линии и полилинии могут встречаться. А вот после взрыва, все конвертируется очень красиво
***Добавлено2***
Это заработала так сказать "бесплатная" версия программы. Где взял писать нельзя, но думаю найдете
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Непрочитано 29.10.2010, 12:33
#26
Mikhail

инженер-технолог (ГИП)
 
Регистрация: 11.09.2003
Санкт-Петербург
Сообщений: 1,147


Ок . спасибо.
Понял в каком направлении двигаться для обеспечния работоспособности)
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты.
Mikhail вне форума  
 
Непрочитано 31.01.2012, 20:47
#27
_mikka


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


Доброго времени суток, опробовал скрипт mikeTable в 2010, все хорошо, но таблица создается с 2 лишним столбцами (первым и последним), можно ли это как то исправить, и еще скрипт не определяет рабочее пространство...
_mikka вне форума  
 
Непрочитано 01.02.2012, 09:44
#28
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Еще до кучи
Table Converter (требуется регистрация)
Цитата:
This routine converts old tables into new tables.
(Currently compatible with lines/polylines, text/mtext and blocks.)
V1.4 - It's assumed that a title is present, otherwise table is not supported
-Designates Title/Header rows
- Optional search for merged cells
- Only supports horizontal and vertical merging
- Uses text/block insertion point to determine cell position

V1.5 - Title/Header suppressed
- Automatic search for merged cells
- Only supports horizontal and vertical merging
- Uses text/block insertion point to determine cell position

V1.6 -Made suppressing Titles/Headers Optional
-Automatic search for merged cells
-Supports all merging
-Uses text/block center to determine cell position
-Modified routine to use associated lists, added text rotation property
-uses Zoom object to avoid crashing due to entities off screen during processing
-Added Remove_nth by Lee Mac to adjust horizontal/vertical merging lists
-Optional Table Style Creation
-Attempts to retain original appearance

Похожая тема Преобразование таблицы сделаной из полилиний в таблицу Exel
Вложения
Тип файла: lsp COT_Convert_Old_TableV1.4.lsp (15.8 Кб, 1217 просмотров)
Тип файла: lsp COT_Convert_Old_TableV1.6a.lsp (28.6 Кб, 2806 просмотров)
Тип файла: lsp COT_Convert_Old_TableV1.5.lsp (15.7 Кб, 2077 просмотров)
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 30.10.2015 в 15:09.
VVA вне форума  
 
Непрочитано 17.04.2012, 17:24
#29
crosandr

Инженер-строитель
 
Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,994


Цитата:
Сообщение от VVA Посмотреть сообщение
COT_Convert_Old_TableV1.6a.lsp
Отличная вещь, но не работает с блоками, которые должны быть в ячейке. С текстом и линиями справилась на ура
crosandr вне форума  
 
Непрочитано 30.08.2012, 13:24
| 1 #30
_mikka


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



Не работает ни одна версия в 2010 акаде, подставляю взорванную таблицу, а он мне создает пустую табличку да еще и с большим количеством столбцов...
_mikka вне форума  
 
Непрочитано 30.01.2014, 14:16
#31
RNB

Проектирование мостов
 
Регистрация: 29.01.2014
Новосибирск
Сообщений: 431


У меня в Акаде2014х64 вменяемо работает COT_Convert_Old_TableV1.5.lsp

----- добавлено через ~2 мин. -----
P.S. Нормально работает если линии таблицы состоят именно из отрезков, с полилиниями не катит
RNB вне форума  
 
Непрочитано 30.01.2014, 18:22
#32
crosandr

Инженер-строитель
 
Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,994


малость подшаманил COT_Convert_Old_TableV1.5.lsp под свои нужды.
Вложения
Тип файла: lsp COT_Convert_Old_TableV2.0.lsp (44.6 Кб, 1214 просмотров)
crosandr вне форума  
 
Непрочитано 31.01.2014, 06:07
#33
RNB

Проектирование мостов
 
Регистрация: 29.01.2014
Новосибирск
Сообщений: 431


Цитата:
Сообщение от crosandr Посмотреть сообщение
малость подшаманил COT_Convert_Old_TableV1.5.lsp под свои нужды.
Что поменялось и под какие нужды, если не секрет?
RNB вне форума  
 
Непрочитано 31.01.2014, 09:04
1 | #34
crosandr

Инженер-строитель
 
Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,994


Не секрет, всех подробностей уже не помню.
Добавил возможность анализа нескольких текстов в одной ячейке расположенных как вдоль, так и друг над другом.
Попытался сделать преобразование псевдодроби в ячейке. Иногда встречается, что в ячейку записан текст вида:
Код:
[Выделить все]
     12AIII
2C--------   235x335  
     12AIII
Так вот такие обозначения в большинстве случаев теперь записываются в ячейку без потерь, правда 100% результата не добился, иногда приходится шаманить руками

Последний раз редактировалось Кулик Алексей aka kpblc, 31.01.2014 в 09:17.
crosandr вне форума  
 
Непрочитано 05.02.2014, 03:47
#35
Автон

СЦБ
 
Регистрация: 09.03.2006
Сообщений: 89


Цитата:
Сообщение от crosandr Посмотреть сообщение
малость подшаманил COT_Convert_Old_TableV1.5.lsp под свои нужды.
Набираю команду COT, выскакивает ошибка:
Цитата:
<no function definition: VLAX-GET-ACAD-OBJECT>
; ошибка: В функции *error* возникла ошибка:нет определения функции:
VLA-ENDUNDOMARK
Что это может значить?
Автон вне форума  
 
Непрочитано 05.02.2014, 08:55
1 | #36
crosandr

Инженер-строитель
 
Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,994


(vl-load-com) пробовали?
crosandr вне форума  
 
Непрочитано 05.02.2014, 09:32
#37
Автон

СЦБ
 
Регистрация: 09.03.2006
Сообщений: 89


Цитата:
Сообщение от crosandr Посмотреть сообщение
(vl-load-com) пробовали?
Попробовал, запускается, предлагает выбрать объекты, а потом ничего не происходит
Цитата:
Команда: (vl-load-com)
Команда: COT
Sorting Line Info...
Выберите объекты: Противоположный угол: найдено: 71
Выберите объекты:
Searching for merged cells...
Sorting Text Info...
<no function definition: BG:FIELDCODE>
Заранее меня извините, я в Лиспе не очень
Автон вне форума  
 
Непрочитано 05.02.2014, 15:35
1 | #38
crosandr

Инженер-строитель
 
Регистрация: 09.07.2010
Санкт-Петербург
Сообщений: 1,994


Цитата:
Сообщение от Автон Посмотреть сообщение
BG:FIELDCODE
аа, это функция от VVA, лежит тут.
crosandr вне форума  
 
Непрочитано 06.02.2014, 10:11
#39
Автон

СЦБ
 
Регистрация: 09.03.2006
Сообщений: 89


Спасибо, все работает
Только верхняя строка не вся преобразуется, а только первый столбец почему то, но это по видимому к автору программы.
Автон вне форума  
 
Непрочитано 31.10.2014, 15:35
#40
Alex_GSP

Генплан
 
Регистрация: 16.03.2014
Сообщений: 33


Всем привет! Наткнулся на лисп - спасибо, опробовал. Интересное решение, что он должен работать в связке с bgtools, ну да этот лиспик уже тоже подвешен). А с верхней строчкой оказался простой затык - лисп распознает как строку таблицы только текст, обведенный линиями, поэтому заголовок "съедается". Я рисую простой прямоугольник вокруг заголовка и вуаля - идентичная таблица. А еще в лиспе заменил стиль таблицы, и отрисовывается табличка так, как мне нужно на выходе.
П.С. Акад 11-й.
Еще раз отдельное спасибо ЛИСПо-писателям!!

Последний раз редактировалось Alex_GSP, 31.10.2014 в 15:56.
Alex_GSP вне форума  
 
Непрочитано 27.12.2014, 07:04
#41
SNIIP


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


А у меня так делает... срабатывает лисп, выводится таблиц с пустыми ячейками.. если зайти в ячейку, то там вроде есть текст, но он не отображается если выйти из таблицы. и иногда неправильно таблица и и линии выглядят.. в общем как то глючно отображает... Всякие регенерации не помогли...
SNIIP вне форума  
 
Непрочитано 27.12.2014, 07:53
#42
freese

ingénieur
 
Регистрация: 21.07.2008
Сообщений: 768


Цитата:
Сообщение от cancercat Посмотреть сообщение
Есть ли какие-нибудь возможности их преобразовать в примитивы Акад 2008 _table автоматически? Желательно, без использования ЛИСП, поскольку на моей машине LT версия стоит.
Никак

Цитата:
Сообщение от cancercat Посмотреть сообщение
Впрочем, я могу сходить и в другой отдел, если понадобится,
Или лисп или spds от Autodesk
freese вне форума  
 
Непрочитано 18.06.2015, 17:52
#43
LazyCamel

программист
 
Регистрация: 18.06.2015
Астрахань
Сообщений: 12


Цитата:
Сообщение от crosandr Посмотреть сообщение
аа, это функция от VVA, лежит тут.
Ткните носом, плиз. Не найду
LazyCamel вне форума  
 
Непрочитано 24.10.2024, 14:38
#44
Amste


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


Хэээй, есть кто живой?) У меня проблема то что этот скрипт некорректно обрабатывает пробелы и символ "]" в названии стилей таблиц. Починить отображение у меня не получилось. Я попытался сделать выбор стиля через окно выбора, как в скрипта для замены текстовых стилей cts, но чёт сложно. Окошко со стилями выходит, отображается правильно, а дальше - кажется передаётся объект вместо названия стиля в основную функцию, может кто ни будь помочь?
Amste вне форума  
Закрытая тема
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Преобразование таблиц из "старых" версий в таблицы AutoCAD 2008

Реклама i


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Информация по идентификационным кодам программ в сетевых лицензиях Autodesk KSI AutoCAD 1 14.09.2009 15:59
Полное зависание Autocad 2008 LT после загрузки программы Zaverra AutoCAD 3 03.06.2009 12:29
Таблицы в AutoCAD 2008 Den_martini Вертикальные решения на базе AutoCAD 2 25.02.2009 09:43
как с помощью vba начертить линию vasyavip Программирование 77 09.10.2008 23:17