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

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

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

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

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

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

__________________
Блог

Последний раз редактировалось Red Nova, 17.07.2008 в 16:25.
Просмотров: 78618
 
Непрочитано 01.10.2014, 16:06
#101
bridgeconst

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


Если пишет:
Excel Object Library was not found!
то значит, что путь к exe-шнику и библиотеки Exсel не совпадает с тем, что в коде прописано.
Откройте lsp файл и руками поправьте строчки
((findfile (strcat sysDrive "\\Program Files\\Microsoft Office\\Office\\Excel8.olb")))
((findfile (strcat sysDrive "\\Program Files\\Microsoft Office\\Office\\Excel9.olb")))
((findfile (strcat sysDrive "\\Program Files\\Microsoft Office\\Office\\Excel10.olb")))
((findfile (strcat sysDrive "\\Program Files\\Microsoft Office\\Office\\Excel.exe")))
((findfile (strcat sysDrive "\\Program Files\\Microsoft Office\\Office10\\Excel.exe")))
((findfile (strcat sysDrive "\\Program Files\\Microsoft Office\\Office11\\Excel.exe")))

В моем случае exe-шник Exсel лежал в папке Office12. Исправил одну цифру, сохранил, перезапустил - заработало.
Врообще решение проблемы описано в
http://www.jefferypsanders.com/autolisp_XL_Help.html
__________________
Обмениваю незнание на время.
bridgeconst вне форума  
 
Непрочитано 14.09.2016, 08:13 прорисовка точек из excel
#102
Nadinka

инженер-технолог
 
Регистрация: 24.07.2013
на севере
Сообщений: 17


VVA, Олег (jr.), доброго дня!
Помогите, пожалуйста, разобраться. VVA, спасибо за Вашу помощь, Ваша программа прорисовывает 20 тысяч точек из excel файла, только столбец D не прорисовывает. Выше советовали пересохранить в формате csv. Тогда вопрос у меня, как указать этот файл на обработку, если окно диалога позволяет выбрать файлы только двух типов:xlsx, xls? не дает выбрать файл csv.
Если координат меньше 20, то программа работает на ура и все прорисовывает. Может проблема в слишком большом количестве информации (несколько часов выполнялась прорисовка)?
Вложения
Тип файла: rar координаты.rar (1.47 Мб, 35 просмотров)
Nadinka вне форума  
 
Непрочитано 14.09.2016, 08:48
#103
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


csv не так делается

_Aeccimportpoints - 3 минуты

Последний раз редактировалось trir, 14.09.2016 в 08:57.
trir вне форума  
 
Непрочитано 14.09.2016, 12:16
#104
Nadinka

инженер-технолог
 
Регистрация: 24.07.2013
на севере
Сообщений: 17


Цитата:
Сообщение от trir Посмотреть сообщение
csv не так делается

_Aeccimportpoints - 3 минуты
trir, расскажите, пожалуйста, что это за команда _Aeccimportpoints и как ее использовать?
Nadinka вне форума  
 
Непрочитано 14.09.2016, 12:19
#105
Кулик Алексей aka kpblc
Moderator

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


trir, тебе каждый раз напоминать надо, чтобы ты уточнял, про какое ПО ты говоришь?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.09.2016, 12:43
#106
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


Цитата:
trir, тебе каждый раз напоминать надо, чтобы ты уточнял, про какое ПО ты говоришь?
а интрига?

Цитата:
что это за команда _Aeccimportpoints и как ее использовать?
AutoCAD Civil 3D
trir вне форума  
 
Непрочитано 14.09.2016, 12:55
#107
Кулик Алексей aka kpblc
Moderator

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


Offtop: trir, интрига, как и шутка, бывает двух типов. Первый тип: сколько бы раз ни схохмил - ты молодец. Второй: первый раз - круто, второй и дальше - уже не катит. Твоя "интрига" уже вполне тянет на второй сорт.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 14.09.2016, 12:59
#108
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


Offtop: там есть префикс _Aecc который однозначно определяет откуда эта команда - если человек этого не знает, ему полезно будет это узнать
trir вне форума  
 
Непрочитано 14.09.2016, 13:10
#109
Nadinka

инженер-технолог
 
Регистрация: 24.07.2013
на севере
Сообщений: 17


trir, спасибо буду знать. Но мы работаем только с AutoCAD, ADT, в данный момент будем переходить на 2015.
Все-таки, конечно хотелось бы добиться помощи в решении моего вопроса. Очень жаль, что разработчики данной программы пока не выходят на связь.
Nadinka вне форума  
 
Непрочитано 14.09.2016, 13:26
#110
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


а что это за данные?
trir вне форума  
 
Непрочитано 14.09.2016, 13:53
#111
Nadinka

инженер-технолог
 
Регистрация: 24.07.2013
на севере
Сообщений: 17


Цитата:
Сообщение от trir Посмотреть сообщение
а что это за данные?
Если честно не знаю. Просто пользователь попросил помочь нарисовать точки по координатам. Я попросила его заполнить координаты в такой вот форме excel, чтобы воспользоваться этой программкой.
Если узнать что это за данные, это чем-то поможет решению вопроса?
Дело в том, что для маленького количества точек все работает замечательно, но когда я прогнала для 20 тысяч точек, то получила только точки без пометок.
Nadinka вне форума  
 
Непрочитано 14.09.2016, 14:27
#112
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


проще написать dxf

python:
Код:
[Выделить все]
import csv

def printPoint(file, x, y, z):
	text_file.write("  0\n")
	text_file.write("POINT\n")
	text_file.write("100\n")
	text_file.write("AcDbEntity\n")
	text_file.write("  8\n")
	text_file.write("0\n")	
	text_file.write("100\n")
	text_file.write("AcDbPoint\n")	
	text_file.write(" 10\n")
	text_file.write(str(x) + "\n")
	text_file.write(" 20\n")
	text_file.write(str(y) + "\n")
	text_file.write(" 30\n")
	text_file.write(str(z) + "\n")	

with open('C:\\work\\fff.txt', 'rb') as csvfile:
	wreader = csv.reader(csvfile, delimiter=';')
	
	with open("C:\\work\\Output.dxf", "w") as text_file:	
		text_file.write("  0\n")
		text_file.write("SECTION\n")
		text_file.write("  2\n")
		text_file.write("ENTITIES\n")
		#print point
		for row in wreader:
			printPoint(text_file, row[0], row[1], row[2])		
		text_file.write("  0\n")	
		text_file.write("ENDSEC\n")
		text_file.write("  0\n")
		text_file.write("EOF\n")
trir вне форума  
 
Непрочитано 14.09.2016, 22:36
#113
VVA

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


Цитата:
Сообщение от Nadinka Посмотреть сообщение
(несколько часов выполнялась прорисовка)
CSV - текстовый файл. Разделитель между столбцами - точка с запятой. Разделитель целой и дробной части - точка или запятая, без разницы
Код:
[Выделить все]
(defun C:CSV2PT	(/ *error* adoc pt-list data txt fl file)
  (vl-load-com)
  (defun *error* (msg) (princ msg) (vla-endundomark adoc))
  (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
  (vla-startundomark adoc)
  (setq file (getfiled "Select a CSV File" "" "csv;txt" 8))
  (setq fl (open file "r"))
  (while (setq txt (read-line fl))
    (setq data
	   (mapcar
	     '(lambda (x)
		(VL-STRING-TRIM " \t\n" (VL-STRING-TRANSLATE ",'" ". " x))
	      )
	     (str-str-lst txt ";")
	   )
    )
    (VL-CATCH-ALL-APPLY
      '(lambda ()
    (setq pl-list (list	(atof (car data))
			(atof (cadr data))
			(atof (caddr data))
		  )
    )
	 (entmakex
	   (list
	     '(0 . "POINT")
	     '(100 . "AcDbEntity")
	     '(410 . "Model")
	     '(100 . "AcDbPoint")
	     (cons 10 pl-list)
	     '(210 0.0 0.0 1.0)
	   )
	 )
	 (setq txt (cadddr data))
	 (if (and txt (/= txt ""))
	   (entmake (list '(0 . "TEXT")
			  '(100 . "AcDbEntity")
			  '(100 . "AcDbText")
			  (cons 10 pl-list)
			  (cons 1 txt)
			  (cons 40 (getvar "TEXTSIZE"))
			  '(72 . 0)
			  (cons 50 0)
			  (cons 10 pl-list)
		    ) ;_ end of list
	   )
	 )
       )
    )
  )
  (close fl)
  (vla-endundomark adoc)
  (command "_ZOOM" "_E")
  (princ)
)
 ;|
* Ф-ция str-str-lst
* Сервисная ф-ция извлечения из строки данных, разделенных
* каким либо символом или строкой символов
* Возвращает список строк
* Аргументы [Type]:
  str - строка для разбора [STRING]
  pat - разделитель [STRING]
*  Пример запуска
  (setq str "мы;изучаем;рекурсии" pat ";")
  (setq str "мы — изучаем — рекурсии" pat " — ")
  (str-str-lst str pat)
* Читать подробнее http://www.caduser.ru/cgi-bin/f1/board.cgi?t=25113OT
|;
(defun str-str-lst (str pat / i)
  (cond	((= str "") nil)
	((setq i (vl-string-search pat str))
	 (cons (substr str 1 i)
	       (str-str-lst (substr str (+ (strlen pat) 1 i)) pat)
	 ) ;_  cons
	)
	(t (list str))
  ) ;_  cond
) ;_  defun
(princ "\nType CSV2PT in command line")
(princ)
Вложения
Тип файла: zip 11-453 ряд в3.zip (115.3 Кб, 39 просмотров)
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 14.09.2016 в 22:48.
VVA вне форума  
 
Непрочитано 15.09.2016, 08:10
#114
Nadinka

инженер-технолог
 
Регистрация: 24.07.2013
на севере
Сообщений: 17


VVA, премного благодарна Вам. Этот код работает и все прорисовывается.
Спасибо еще раз большое за Вашу помощь!
Nadinka вне форума  
 
Непрочитано 15.09.2016, 08:36
#115
trir


 
Регистрация: 18.12.2010
Сообщений: 5,047


а может лучше блок вставлять, можно сразу из Excel'я
trir вне форума  
 
Непрочитано 06.04.2017, 06:02
#116
Titli-pytli


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


После попытки вставить "note" из экселя используя программу http://www.jefferypsanders.com/autolisp_IMPORTXYZ.html , автокад возвращает:

Getting Excel Data...
Currently retrieving cells in Row 25 of 98
Currently retrieving cells in Row 50 of 98
Currently retrieving cells in Row 75 of 98 Done.
Exiting EXCEL... Done.
Displaying data... Done.
Saving variables from dialog box... Done.
Placing notes...Неизвестная команда "IMPORTXYZ".

Как можно победить?
Titli-pytli вне форума  
 
Непрочитано 06.04.2017, 09:20
#117
frostmourn


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


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

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

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


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