dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Создание графика в AutoCAD на основе txt или xls файла

Создание графика в AutoCAD на основе txt или xls файла

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 08.07.2008, 17:28
Создание графика в AutoCAD на основе txt или xls файла
Red Nova
 
ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Торонто
Регистрация: 23.10.2007
Сообщений: 1,952
Отправить сообщение для Red Nova с помощью Skype™

Red Nova вне форума Вставить имя

Имею txt файл. В нем запись такого содержания
3.2,0.2
9.2,1.5
15.2,-2.8
И так далее подобные строчки.
На основе этого файла надо в AutoCAD создать график.
При этом по оговоренным координатам расставляются блоки с именем “ Отметка графика”, затем эти же точки соединяются полигинией.
График начинается с абсолютной координаты 0,0.
В файле имею так же блок в котором сетка с отметками, думаю его присудствие не должно ни на что повлиять.
Файлик вот такой.ъ
Прошу помочь.
Заранее спасибо если кто ответит.

Вложения
Тип файла: dwg
DWG 2004
Таблицы отклонений.dwg (66.3 Кб, 22839 просмотров)

__________________
Блог

Последний раз редактировалось Red Nova, 17.07.2008 в 16:25.
Просмотров: 50053
 
Непрочитано 21.11.2011, 13:03
#81
Олег (jr.)

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


Цитата:
Сообщение от Mikhail Посмотреть сообщение
выбираю файл excel. Точки программа строит, а описание точки из столбца D не ставит.
Покажи файл Эксель и чертеж
Олег (jr.) вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.11.2011, 13:30
#82
Mikhail

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


вот файл.
xls почему то не прикреплялся, его засунул в архив.
Вложения
Тип файла: dwg
DWG 2004
4.dwg (54.5 Кб, 3174 просмотров)
Тип файла: rar 4.rar (1.5 Кб, 78 просмотров)
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты.
Mikhail вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.11.2011, 14:04
#83
Сергей Дубина


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


так?
Вложения
Тип файла: zip пример.zip (26.5 Кб, 149 просмотров)
__________________
КазнитьØнельзяØпомиловать:eek:
Сергей Дубина вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.11.2011, 14:23
#84
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,501
Отправить сообщение для VVA с помощью ICQ Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от Mikhail Посмотреть сообщение
а за ссылку на программу спасибо. она в принципе делает, что надо. просто приходится перекидывать из экселя в тхт файл данные
Сохрани файл excel'a как csv
+ Обновил #28
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.11.2011, 14:31
#85
Олег (jr.)

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


Цитата:
Сообщение от Mikhail Посмотреть сообщение
вот файл.
xls почему то не прикреплялся, его засунул в архив.
Вернусь позже
Олег (jr.) вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.11.2011, 14:44
#86
Mikhail

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


Цитата:
Сообщение от VVA Посмотреть сообщение
Сохрани файл excel'a как csv
+ Обновил #28
спасибо. все работает.
Цитата:
Сообщение от Сергей Дубина
....
А что с эксель файлом? мне из экселя в автокад надо по простым табличкам, как VVA подправил.
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты.
Mikhail вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.11.2011, 17:02
#87
Олег (jr.)

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


Закомментировал дубликат вызова
Выбирай 4 столбца не не 3

Код:
[Выделить все]
;; local defun
;; Fatty T.O.H. (c) 2011 * all rights released
(defun RefSelection (/ *error* addr c2 c2 Excelapp Sel Sht r1 r2 Rng vl Wbk)
  (vl-load-com)
  (defun *error*  (msg)
    (if
      (vl-position
	msg
	'("console break"
	  "Function cancelled"
	  "quit / exit abort"
	  )
	)
       (princ "Error!")
       (princ msg)
       )
            (vl-catch-all-apply
	'vlax-invoke-method
	(list Wbk "Close")
      )

	(vl-catch-all-apply
	  'vlax-invoke-method
	  (list ExcelApp "Quit")
	)

  (mapcar
    (function (lambda (x)(vl-catch-all-apply(function (lambda()
		(if (not (vlax-object-released-p x))
		  (progn
		  (vlax-release-object x)
		  (setq x nil))
		)
	      )
    )
			   )
		)
	      )
    (list Sel Sht Wbk ExcelApp)
  )  
  (gc)
  (gc) 
    (princ)
    )
  

(setq ExcelApp (vl-catch-all-apply
	       (function (lambda ()(vlax-get-or-create-object "Excel.Application")))))

(if (vl-catch-all-error-p
      (setq Wbk
	     (vl-catch-all-apply
	       (function (lambda ()
			   (vlax-get-property ExcelApp "ActiveWorkBook"))))))
  (progn
    (alert "Excel WorkBook Must Be Open Before!")
    (exit)
    (*error* nil)
    (princ)
    )
  )
(setq Sht
       (vl-catch-all-apply
	 (function (lambda ()
		     (vlax-get-property ExcelApp "ActiveSheet")))))

(vlax-put-property ExcelApp 'visible :vlax-true)

(vlax-put-property ExcelApp 'ScreenUpdating :vlax-true)

(vlax-put-property ExcelApp 'DisplayAlerts :vlax-false)

(if (not (vl-catch-all-error-p
	   (setq Rng
		  (vl-catch-all-apply
		    (function (lambda ()
				(vlax-variant-value
				  (vlax-invoke-method
				    (vlax-get-property Wbk 'Application)
				    'Inputbox
				    "Выбрать диапазон данных,\n	нажать OK :"
				    "Данные графика"
				    nil
				    nil
				    nil
				    nil
				    nil
				    8))))))))
  (progn
    (vlax-put-property ExcelApp 'DisplayAlerts :vlax-true)

    (setq r1 (vlax-get-property Rng 'row))
    (setq c1 (vlax-get-property Rng 'column))
    (setq r2 (vlax-get-property (vlax-get-property Rng 'rows) 'count))
    (setq c2 (vlax-get-property (vlax-get-property Rng 'columns) 'count))

    (setq addr (strcat (chr (+ 64 c1))
		       (itoa r1)
		       ":"
		       (chr (+ (ascii (chr (+ 64 c1))) (1- c2)))
		       (itoa (+ r1 (1- r2)))))

    (setq Rng (vlax-get-property sht 'Range addr))

    (vlax-invoke Rng 'Select)
    )
  )

(if Rng
  (progn
    (setq vl (mapcar (function (lambda (x)
				 (mapcar 'vlax-variant-value x)))
		     (vlax-safearray->list
		       (vlax-variant-value
			 (vlax-get-property Rng 'value2)))))
    (princ "\n")
	   (princ (vl-princ-to-string vl))
    (princ "\n")
	   )
    (progn
      (alert "Select Excel Range Before!")
      (exit)
      (*error* nil)
      (princ)
      )
    )

(*error* nil)
  vl
)
(defun C:PRR (/ point_data pt1 txt1 txthgt txup1 )
  
 (if (setq point_data (RefSelection))
   (progn

     (setq osm (getvar 'osmode))
     (command "_.undo" "be")
    ;; (setq point_data (RefSelection));;<--скопировал дважды за каким-то...
     (setq point_data
	    (mapcar (function (lambda (x)
				(list (reverse (cdr (reverse x))) (last x))))
		    point_data)
	   )
     (setq txthgt 0.25)
     (setvar 'pdsize txthgt)
     (setvar 'pdmode 34)


     (foreach item  point_data

       (setq pt1   (car item)

	     txt1  (last item)

	     txup1 (mapcar '+
			   pt1
			   (list 0 txthgt))

	     )

       (entmake
	 (list
	   (cons 0 "POINT")
	   (cons 100 "AcDbEntity")
	   (cons 100 "AcDbPoint")
	   (cons 10 pt1)
	   (cons 8 "0")
	   '(62 . 1)
	   )
	 )
       (entmake
	 (list
	   '(0 . "TEXT")
	   '(100 . "AcDbEntity")
	   '(67 . 0)
	   '(410 . "Model")
	   '(8 . "0")
	   '(62 . 121)
	   '(100 . "AcDbText")
	   (cons 10
		 (list (- (car txup1) (* txthgt 0.375) (cadr txup1)) 0.0))
	   (cons 11 txup1)
	   (cons 40 txthgt)
	   (cons 1 txt1)
	   '(50 . 0.0)
	   '(41 . 1.0)
	   '(51 . 0.0)
	   '(7 . "Standard")
	   '(71 . 0)
	   '(72 . 1)
	   (cons 210 (list 0.0 0.0 1.0))
	   '(73 . 0)))
       )
     )
   (command "_.undo" "e")
   )
(princ)
)
(princ "\n   >>>   В командной строке введите: PRR   <<<")
(princ)

Последний раз редактировалось Олег (jr.), 22.11.2011 в 22:49.
Олег (jr.) вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 22.11.2011, 12:07
#88
Mikhail

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


Цитата:
Сообщение от Олег (jr.) Посмотреть сообщение
См. результат, что прислал то и получи
ну в принципи VVA подкорректировал лисп и все работает нормально. а твой что то выдает следующую крякозябру
Command: PRR

((23.0 324.0 23.0) (24.0 325.0 4234.0) (25.0 326.0 234.0) (26.0 327.0 234.0)
(27.0 328.0 3.0) (28.0 329.0 5.0) (29.0 330.0 45.0) (30.0 331.0 45.0) (31.0
332.0 0.0) (32.0 333.0 45.0) (33.0 334.0 343.0) (34.0 335.0 6.0) (35.0 336.0
45.0) (36.0 337.0 0.0))
nil_.undo Current settings: Auto = On, Control = All, Combine = Yes, Layer = Yes
Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back]
<1>: be
Command: bad argument type: VLA-OBJECT #<%catch-all-apply-error%>
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты.
Mikhail вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 22.11.2011, 22:50
#89
Олег (jr.)

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


См/ исправления в посте #87
Олег (jr.) вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 23.11.2011, 09:55
#90
Mikhail

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


Цитата:
Сообщение от Олег (jr.) Посмотреть сообщение
См/ исправления в посте #87
всё ок. спасибо.
__________________
Большая беда науки в том, что при восхитительной теории можно получить отвратительные результаты.
Mikhail вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 24.11.2011, 00:13
1 | #91
Олег (jr.)

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



Очень рад
Олег (jr.) вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 10.08.2012, 09:30
#92
bridgeconst

проектирование
 
Регистрация: 29.11.2007
Москва
Сообщений: 303


Обнаружил еще одну маленькую проблемку - при использовании xl2pt четвертом столбце в Exel'е (имя точки) в ячейке не должен быть "голая"цифра. В противном случае выдает ошибку bad dxf (1. ____).
Решается конечно просто добавлением буквенного префикса перед цифрой.
А в остальном прекрасная программа. Спасибо автору.
P.S. Я даже не представляю как бы я вручную 10 000 точек из GPS вводил...
__________________
Обмениваю незнание на время.
bridgeconst вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 10.08.2012, 10:26
#93
Олег (jr.)

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


Цитата:
Сообщение от bridgeconst Посмотреть сообщение
Обнаружил еще одну маленькую проблемку - при использовании xl2pt четвертом столбце в Exel'е (имя точки) в ячейке не должен быть "голая"цифра. В противном случае выдает ошибку bad dxf (1. ____).
Спасибо за замечание, буду исправлять,
Удачи

~'o'~
Олег (jr.) вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 18.05.2013, 17:29
#94
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,952
Отправить сообщение для Red Nova с помощью Skype™


Вернулся в тему.
Долгое время благополучно использовал лисп от Елпанов Евгений, но после перехода на 2013-й лисп перестал работать. Прошу помощи.
Код:
[Выделить все]
 (defun GET_xl (tbl / ADOCONNECT ADORECORDSET LST)
              ;|
     GET_XL.LSP
     created 21-04-2006
     last edit 19-02-2007
     Created by Elpanov Evgeny
     
     842@list.ru
     elpanov@gmail.com

Data reading from Microsoft Excel not using Excel.
This code, can read diverse data from all tables.

 ARGUMENTS:
 A string containing a complete file name, including the path.
 (setq tbl "D:\\4.xls")

 USAGE:
 (GET_xl tbl)

 RETURN VFALUES
 The list of all pages in a file with all data
|;
 (defun rec-rem-dupl (lst)
  (if lst
   (cons (car lst) (rec-rem-dupl (vl-remove (car lst) (cdr lst))))
  ) ;_  if
 ) ;_  defun
 (setq ADOConnect   (vlax-get-or-create-object "ADODB.Connection")
       ADORecordset (vlax-get-or-create-object "ADODB.Recordset")
 ) ;_  setq
 (if
  (not (vl-catch-all-error-p
        (vl-catch-all-apply
         (function vlax-invoke-method)
         (list ADOConnect
               "Open"
               (strcat "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
                       tbl
                       ";Extended Properties=;Excel 8.0;HDR=No"
               ) ;_  strcat
               "admin"
               ""
               nil
         ) ;_  list
        ) ;_  vl-catch-all-apply
       ) ;_  vl-catch-all-error-p
  ) ;_  not
  (progn (setq
          lst (mapcar
               (function (lambda (l / i c)
                          (vlax-invoke-method
                           ADORecordset
                           "Open"
                           (strcat "SELECT * FROM [" l "]")
                           ADOConnect
                           1
                           3
                           nil
                          ) ;_  vlax-invoke-method
                          (setq i
                                (length
                                 (car (vlax-safearray->list
                                       (vlax-variant-value
                                        (vlax-invoke-method ADORecordset "GetRows" 65535)
                                       ) ;_  vlax-variant-value
                                      ) ;_  vlax-safearray->list
                                 ) ;_  car
                                ) ;_  length
                          ) ;_  setq
                          (vlax-invoke-method ADORecordset "Close")
                          (while (not (zerop i))
                           (vlax-invoke-method
                            ADORecordset
                            "Open"
                            (strcat "SELECT * FROM ["
                                    l
                                    "a"
                                    (itoa i)
                                    ":IV"
                                    (itoa i)
                                    "]"
                            ) ;_  strcat
                            ADOConnect
                            1
                            3
                            nil
                           ) ;_  vlax-invoke-method
                           (setq c (cons
                                    (car
                                     (apply
                                      (function mapcar)
                                      (cons
                                       'list
                                       (mapcar
                                        (function
                                         (lambda (a)
                                          (mapcar
                                           (function (lambda (b) (vlax-variant-value b))
                                           ) ;_  function
                                           a
                                          ) ;_  mapcar
                                         ) ;_  lambda
                                        ) ;_  function
                                        (vlax-safearray->list
                                         (vlax-variant-value
                                          (vlax-invoke-method
                                           ADORecordset
                                           "GetRows"
                                           65535
                                          ) ;_  vlax-invoke-method
                                         ) ;_  vlax-variant-value
                                        ) ;_  vlax-safearray->list
                                       ) ;_  mapcar
                                      ) ;_  cons
                                     ) ;_  apply
                                    ) ;_  car
                                    c
                                   ) ;_  cons
                                 i (1- i)
                           ) ;_  setq
                           (vlax-invoke-method ADORecordset "Close")
                          ) ;_  while
                          (if (equal c '((nil) (nil)))
                           (list l)
                           (cons l c)
                          ) ;_  if
                         ) ;_  lambda
               ) ;_  function
               (mapcar
                (function (lambda (x)
                           (if (= (substr x 1 1) "'")
                            (substr x 2 (- (strlen x) 2))
                            x
                           ) ;_  if
                          ) ;_  lambda
                ) ;_  function
                (rec-rem-dupl
                 (caddr
                  (mapcar
                   (function
                    (lambda (a) (mapcar (function vlax-variant-value) a))
                   ) ;_  function
                   (vlax-safearray->list
                    (vlax-variant-value
                     (vlax-invoke-method
                      (vlax-invoke-method ADOConnect "OpenSchema" 4)
                      "GetRows"
                      65535
                     ) ;_  vlax-invoke-method
                    ) ;_  vlax-variant-value
                   ) ;_  vlax-safearray->list
                  ) ;_  apply
                 ) ;_  caddr
                ) ;_  rec-rem-dupl
               ) ;_  mapcar
              ) ;_  mapcar
         ) ;_  setq
         (vlax-invoke-method ADOConnect "Close")
         (vlax-release-object ADORecordset)
         (vlax-release-object ADOConnect)
         (setq ADORecordset nil
               ADOConnect nil
         ) ;_  setq
         lst
  ) ;_  progn
  (progn
   (vl-catch-all-apply 'vlax-invoke-method (list ADOConnect "Close"))
   (vlax-release-object ADORecordset)
   (vlax-release-object ADOConnect)
   (setq ADORecordset nil
         ADOConnect nil
   ) ;_  setq
   nil
  ) ;_  progn
 ) ;_  if
) ;_  defun

(defun c:gx (/ A B F L)
 ;;пример для экселя...
 ;; c автоматическим созданием блоков отметок.
 (vl-load-com)
 (if (setq f (getfiled "Укажите файл с точками графика" "" "xls" 0))
  (progn
   (if (null (tblobjname "BLOCK" "Отметка графика"))
    (mapcar 'entmakex
            '(((0 . "BLOCK")
               (100 . "AcDbEntity")
               (67 . 0)
               (8 . "0")
               (100 . "AcDbBlockBegin")
               (70 . 0)
               (10 0.0 0.0 0.0)
               (2 . "Отметка графика")
               (1 . "")
              )
              ((0 . "HATCH")
               (100 . "AcDbEntity")
               (410 . "Model")
               (62 . 0)
               (100 . "AcDbHatch")
               (10 0.0 0.0 0.0)
               (210 0.0 0.0 1.0)
               (2 . "SOLID")
               (70 . 1)
               (71 . 0)
               (91 . 1)
               (92 . 1)
               (93 . 1)
               (72 . 2)
               (10 0.0 0.0 0.0)
               (40 . 0.5)
               (50 . 0.0)
               (51 . 6.28319)
               (73 . 1)
               (97 . 0)
               (75 . 0)
               (76 . 1)
               (98 . 1)
               (10 0.0 0.0 0.0)
               (451 . 0)
               (460 . 0.0)
               (461 . 0.0)
               (452 . 1)
               (462 . 1.0)
               (453 . 2)
               (463 . 0.0)
               (463 . 1.0)
               (470 . "LINEAR")
              )
              ((0 . "ENDBLK"))
             )
    ) ;_  progn
   ) ;_  if
   (setq l (GET_xl f))
   (foreach x (mapcar 'cdr l)
    (if x
     (entmakex
      (append
       (list '(0 . "LWPOLYLINE")
             '(100 . "AcDbEntity")
             '(410 . "Model")
             '(100 . "AcDbPolyline")
             (cons 90 (length x))
       ) ;_  list
       (mapcar
        '(lambda (a)
          (setq a (list 10 (car a) (cadr a)))
          (entmakex (list '(0 . "INSERT") '(2 . "Отметка графика") a))
          a
         ) ;_  lambda
        x
       ) ;_  mapcar
      ) ;_  append
     ) ;_  entmakex
    ) ;_  if
   ) ;_  foreach
   (princ)
  ) ;_  progn
 ) ;_  if
)
(defun c:gxm (/ A B F L)
 ;;пример для экселя...
 ;; c запросом масштаба и автоматическим созданием блоков отметок.
 (vl-load-com)
 (if (setq f (getfiled "Укажите файл с точками графика" "" "xls" 0))
  (progn
   (if (null (tblobjname "BLOCK" "Отметка графика"))
    (mapcar 'entmakex
            '(((0 . "BLOCK")
               (100 . "AcDbEntity")
               (67 . 0)
               (8 . "0")
               (100 . "AcDbBlockBegin")
               (70 . 0)
               (10 0.0 0.0 0.0)
               (2 . "Отметка графика")
               (1 . "")
              )
              ((0 . "HATCH")
               (100 . "AcDbEntity")
               (410 . "Model")
               (62 . 0)
               (100 . "AcDbHatch")
               (10 0.0 0.0 0.0)
               (210 0.0 0.0 1.0)
               (2 . "SOLID")
               (70 . 1)
               (71 . 0)
               (91 . 1)
               (92 . 1)
               (93 . 1)
               (72 . 2)
               (10 0.0 0.0 0.0)
               (40 . 0.5)
               (50 . 0.0)
               (51 . 6.28319)
               (73 . 1)
               (97 . 0)
               (75 . 0)
               (76 . 1)
               (98 . 1)
               (10 0.0 0.0 0.0)
               (451 . 0)
               (460 . 0.0)
               (461 . 0.0)
               (452 . 1)
               (462 . 1.0)
               (453 . 2)
               (463 . 0.0)
               (463 . 1.0)
               (470 . "LINEAR")
              )
              ((0 . "ENDBLK"))
             )
    ) ;_  progn
   ) ;_  if
   (setq s (mapcar '(lambda (x)
                     (if x
                      x
                      1
                     ) ;_  if
                    ) ;_  lambda
                   (list (getreal "\nВведите масштаб по Х [1]:  ")
                         (getreal "\nВведите масштаб по Y [1]:  ")
                   ) ;_  list
           ) ;_  mapcar
   ) ;_  setq
   (setq l (GET_xl f))
   (foreach x (mapcar 'cdr l)
    (if x
     (entmakex
      (append
       (list '(0 . "LWPOLYLINE")
             '(100 . "AcDbEntity")
             '(410 . "Model")
             '(100 . "AcDbPolyline")
             (cons 90 (length x))
       ) ;_  list
       (mapcar
        '(lambda (a)
          (setq a (list 10 (* (car s) (car a)) (* (cadr s) (cadr a))))
          (entmakex (list '(0 . "INSERT") '(2 . "Отметка графика") a))
          a
         ) ;_  lambda
        x
       ) ;_  mapcar
      ) ;_  append
     ) ;_  entmakex
    ) ;_  if
   ) ;_  foreach
   (princ)
  ) ;_  progn
 ) ;_  if
)
Red Nova вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 18.05.2013, 20:02
#95
hwd

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


что-то похожее.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 18.05.2013, 21:39
#96
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,501
Отправить сообщение для VVA с помощью ICQ Отправить сообщение для VVA с помощью Skype™


Red Nova, Думаю проблема здесь не в 2013, а в 64-разрядной винде.
провайдера microsoft.jet.oledb для x64 - не существует?
microsoft jet .oledb.4.0 for windows 7 64 bit
Microsoft Access Database Engine 2010 Redistributable
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 18.05.2013, 21:51
#97
hwd

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


Главное, чтобы в Windows x64 не был установлен MS Office x86, иначе провайдера не найдёт. Я сталкивался с подобным, когда на Windows 7 x64 был установлен MS Office 2003 x86. Переустановка офиса на версию x64 решила проблемы (установил 2013-й x64). Если в указанном выше коде проблема действительно с провайдером, то вот возможные варианты (выбрать нужно тот, который соответствует установленному офису):
Цитата:
...
Строка подключения. Возможно на некоторых машинах нужно будет указать др. провайдера:
20: MS Access 2003: Provider=Microsoft.Jet.OLEDB.4.0
21: MS Access 2007: Provider=Microsoft.ACE.OLEDB.12.0
22: MS Access 2010: Provider=Microsoft.ACE.OLEDB.12.0
23: MS Access 2013: Provider=Microsoft.ACE.OLEDB.12.0 или Provider=Microsoft.ACE.OLEDB.15.0
...
В строке кода
Код:
[Выделить все]
 (strcat "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
нужно заменить провайдера на нужный вариант.

P.S. Повторюсь - это если дело действительно в провайдере (код Евгения я не запускал).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 18.05.2013, 22:36
#98
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,952
Отправить сообщение для Red Nova с помощью Skype™


Спасибо за ответы.
hwd,
Офис стоит 32 битный. Попробую сис админа уговорить поменять на 64.
Red Nova вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 18.05.2013, 22:37
#99
hwd

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


Цитата:
Сообщение от Red Nova Посмотреть сообщение
Офис стоит 32 битный.
Ну, тогда всё ясно (если Windows x64). Если админ не захочет переустанавливать, то выше я дал ссылку - возможно поможет на некоторое время (две из трёх команд должны будут работать, а третья (вариант с MS Access) не будет, по той же причине с провайдерами).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 20.05.2013, 17:31
#100
mahabala


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


а есть инструкция по пользованию GetPointFormExcel?
запутался все всем этом. какие столбцы в экселе и для чего нужны?(первые четыре - понятно - X\Y\Z\имя, а возможны еще два?)
что делать с остальными файлами в папке?(я закинул всю папку в пути поиска акада)
-не рисует.

у меня такие сообщения:
Excel Object Library was not found!
и
Getting Sheet Names from Excel...неверный тип аргумента: streamp nil"
после чего пытается узнать у меня "противоположный угол или [Линия/РМн-угол/СМн-угол]:"
mahabala вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Создание графика в AutoCAD на основе txt или xls файла

Инженерные консультации
Опции темы Поиск в этой теме
Поиск в этой теме:

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Вставка в таблицу поля, соотвествующего площади примитива Profan Готовые программы 256 07.08.2017 11:53
запуск программы из AutoCADа kminas Программирование 19 15.06.2012 13:42
Растр в AutoCad - внутрь файла. Как? dep AutoCAD 3 10.12.2007 16:38
Одна из целей: Создание экспертных систем на базе AutoCAD. Сергей Юрьевич Программирование 9 01.01.2005 15:17

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||


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