Lisp for autocad to excel


@mostafa.hisham62 wrote:

thanks sir about that 
I used the code and there is an error about that 
it don’t work and AutoCAD can’t recognize that 
when I write (te) AutoCAD don’t write this command and don’t work 
you wrote two codes I copied them together to make the lisp 

can you explain what would I do ?? 
and thanks in advance 
 


You say that you have some code where you want this code to be included.

Let say that you have table entity selected to variable named table

To create Excel table you then run function as

(te table ";")
or
(te table ",")
depending on your regional use of "." or "," as decimal sign, i.e. how it is defined in Windows since Excel will use that setting. In autolisp decimal sign is always "."

CSV delimiter symbol is needed since is different in various regions. I would use «;» since in Croatia decimal symbol is «,».

Lets create a sample usage function

(defun c:MyTableExport ()
(setq table (car(entsel "nSelect table")))
(te table ",")
)

Did you find this reply helpful? If so please use the Accept as Solution original.png or LIKES Kudos.jpg button below.

Miljenko Hatlak

Содержание

  1. Export texts to excel sheet — AutoCAD to Excel — (CAD to excel )
  2. 11 comments:
  3. Можно ли экспортировать текст из AutoCAD в Excel?
  4. Как скопировать несколько текстов из AutoCAD в Excel?
  5. Как экспортировать данные из AutoCAD в Excel?
  6. Как экспортировать текст из AutoCAD?
  7. Как скопировать текст из AutoCAD в Word?
  8. Как извлечь данные из AutoCAD?
  9. Как извлечь данные из файла DWG?
  10. Как экспортировать координаты AutoCAD для точек в MS Excel с помощью LISP?
  11. Как преобразовать текст в Mtext в AutoCAD?
  12. Как редактировать таблицу Excel в САПР?
  13. Перенос данных из AutoCAD-а в Excel.
  14. Сообщения 6
  15. #1 Тема от mik 7 ноября 2007г. 15:50:22
  16. Тема: Перенос данных из AutoCAD-а в Excel.
  17. #2 Ответ от Valery Brelovsky 7 ноября 2007г. 16:34:49
  18. Re: Перенос данных из AutoCAD-а в Excel.
  19. #3 Ответ от mik 7 ноября 2007г. 21:57:15
  20. Re: Перенос данных из AutoCAD-а в Excel.
  21. #4 Ответ от kpblc 7 ноября 2007г. 22:22:13
  22. Re: Перенос данных из AutoCAD-а в Excel.
  23. LISP. Excel-blocking — экспорт/импорт содержимого аттрибутов блоков в Excel
  24. Autocad Text To Excel Lisp
  25. Autocad Text To Excel Lisp
  26. Export texts to excel sheet – AutoCAD to Excel – (CAD to excel …
  27. Solved: Export value of text to Excel (sometimes error) – Autodesk …
  28. Exporting selected text to Excel Cell – AutoLISP, Visual LISP & DCL …
  29. AutoCAD export texts to Excel with multiple files – Autodesk …
  30. files and utilities – download – Txt2XLS – export … – CAD Studio
  31. Extract text to Excel
  32. Exporting selected text to CSV, EXCEL or Notepad – AutoLISP …
  33. Txt2XLS – export selected drawing texts to Excel (VLX … – CAD Forum
  34. Text2Column Lisp Program
  35. Tip : Convert Autocad Text to Excel – Cad Lisp and Tips
  36. Cad To Excel Lisp
  37. Solved: Lisp to export table from AutoCAD to excel – Autodesk …
  38. Transfer Table from AutoCad to Excel – AutoCAD Designer
  39. NEED LISP CAD TO EXCEL TEMPLATE – Autodesk Community …
  40. Extracting data from Excel 2010 into CAD using LISP
  41. Tip : Link Excel to AutoCAD Table – Cad Lisp and Tips
  42. Using LISP to Import From Excel – AutoCAD Forums
  43. RenameCSV – rename layers, blocks, layouts, views … – CAD Forum
  44. Txt2Xls Lisp
  45. Export Text from a Drawing to an Excel Spreadsheet | CAD Tips
  46. Click2XLS AND Text2XLS – Autodesk Community – AutoCAD
  47. txt to excel LISP – AutoLISP, Visual LISP & DCL – AutoCAD Forums
  48. Export text from DWG to CSV/Excel – AutoLISP, Visual LISP & DCL …
  49. Excel Data Autocad Lisp
  50. Text to excel sheet – AutoLISP, Visual LISP & DCL – AutoCAD Forums
  51. Load/Unload Applications Dialog Box | AutoCAD 2016 | Autodesk …
  52. Recommendations for You
  53. Autocad Ders Notları
  54. Autocad Draw Rectangle
  55. Autocad Certificate Online Courses
  56. Autocad Youtube Tutorials
  57. Autocad Block Libraries
  58. Autocad Drafter Salaries

Export texts to excel sheet — AutoCAD to Excel — (CAD to excel )

1-Type in command line ( Text2XLS )excel file will open automatically.
2-Press enter & flow command line in screen instruction.

This is really amazing ! Thank you so much.

can we share multiple text at once like if i have table in autocad which is just text, can we simply select the entire table and get in excel

can we select multiple texts at once?

pleass send me link muhliscelik@gmail.com

Watch and Download world’s famous Turkish action drama Kurulus Osman Season 3 in English on link below
👇
Kurulus Osman Season 3

Kurulus Osman Season 3 Episode 1
On link below
Kurulus Osman Season 3 Episode 1

Crypto trading course
Join on link below
Crypto quantum leap

YouTube course
Be a professional YouTuber and start your carrier
Tube Mastery and Monetization by matt

Best product for tooth pain ,
Cavity ,
Tooth decay ,
And other oral issues
Need of every home
With discount
And digistore money back guarantee
Steel Bite Pro

Источник

Можно ли экспортировать текст из AutoCAD в Excel?

Как скопировать несколько текстов из AutoCAD в Excel?

  1. Во-первых, нам нужно преобразовать наши текстовые объекты в один объект Mtext. …
  2. Теперь, когда у нас есть один объект Mtext с несколькими текстовыми строками, мы можем дважды щелкнуть по нему, выделить все содержимое и нажать «Копировать» (Ctrl + C).
  3. Мы можем запустить Microsoft Excel и вставить туда наши данные.

Как экспортировать данные из AutoCAD в Excel?

  1. В командной строке AutoCAD введите TABLEEXPORT .
  2. При появлении запроса выберите таблицу, которую вы хотите экспортировать.
  3. Введите желаемое имя файла и сохраните файл в формате CSV.
  4. Откройте полученный CSV-файл в Excel.
  5. Отформатируйте таблицу по желанию.
  6. Сохраните файл как файл XLS или XLSX.

Как экспортировать текст из AutoCAD?

Вы можете копировать тексты по отдельности с помощью копирования/вставки. Для экспорта текста из ваших чертежей вы также можете использовать утилиту перевода текста CADstudio TRANS. Альтернативой является утилита Txt2Xls (см. Загрузка), которая экспортирует тексты в Excel.

Как скопировать текст из AutoCAD в Word?

Откройте текстовый редактор в AutoCAD, выделите текст, который хотите скопировать, щелкните его правой кнопкой мыши и выберите «Копировать» или нажмите (управление) «C». Откройте новое слово Doc и вставьте его.

Как извлечь данные из AutoCAD?

Извлечение данных с помощью AutoCAD

  1. На вкладке «Вставка» есть панель «Связывание и извлечение». …
  2. В этом случае я впервые извлекаю данные из этого рисунка, поэтому я выберу «Создать новое извлечение данных». …
  3. Затем я могу выбрать, из каких рисунков извлекать данные.

Как извлечь данные из файла DWG?

Создание новой таблицы извлечения данных

  1. Выберите вкладку «Аннотации» панель «Таблицы» «Извлечь данные». …
  2. На странице «Начало» нажмите «Создать новое извлечение данных». …
  3. В диалоговом окне «Сохранить извлечение данных как» введите имя файла для извлечения данных и нажмите «Сохранить».

Как экспортировать координаты AutoCAD для точек в MS Excel с помощью LISP?

Загрузите lisp (узнайте, как загрузить lisp в файл CAD, чтобы узнать больше о lisp, нажмите и выполните следующую инструкцию.
.
Экспорт точек из AutoCAD в Excel в виде точек на север и на восток

  1. Загрузите lisp, набрав в командной строке AP.
  2. Введите в командной строке ( Click2XLS )
  3. Файл Excel откроется автоматически.
  4. Нажмите ввод и инструкции на экране потока.

Как преобразовать текст в Mtext в AutoCAD?

Из текста в Mtext

Выберите «Экспресс»> «Текст»> «Преобразовать текст в многострочный текст». В приглашении Выбрать объекты: выберите текстовые объекты, которые вы хотите преобразовать. Если вы вместо этого нажмете Enter, вы получите диалоговое окно Text to MText Options. Установите нужные параметры и нажмите OK.

Как редактировать таблицу Excel в САПР?

В Microsoft Excel выберите область электронной таблицы, которую вы хотите импортировать, и скопируйте ее в буфер обмена. В AutoCAD в меню «Правка» выберите «Специальная вставка». В диалоговом окне «Специальная вставка» выберите параметр «Объекты AutoCAD». При этом создается таблица AutoCAD, которую можно отформатировать в соответствии с типом линии и стилем текста.

Источник

Перенос данных из AutoCAD-а в Excel.

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Сообщения 6

#1 Тема от mik 7 ноября 2007г. 15:50:22

  • mik
  • Восстановленный участник
  • На форуме с 19 декабря 2003г.
  • Сообщений: 71
  • Спасибо: 0

Тема: Перенос данных из AutoCAD-а в Excel.

Ситуация: имеется чертёж наружных канализационных сетей. В чертеже в виде текстовых строк (Text или MText) указаны параметры высот канализационных люков (например: “TL=42.75”, “IL=41.05”).
Задача: Перенести данные из чертежа в Excel и на основании этих данных просчитать в Excel-е объём работ.
Работаю так: Открыты AutoCAD и Excel. В AutoCAD-е кликаю мышкой на текстовом объекте, затем: text edit -> select all -> Ctrl+C. Перехожу в Excel (Alt+Tab), клик мышкой в нужной клетке, Ctrl+P. Возвращаюсь в AutoCAD (Alt+Tab) и повторяю процедуру со следующим текстовым объектом. Конца процедурам не видно, а до пенсии ещё далеко. 🙁
Поскольку лень – двигатель прогресса, возникла идея полуавтоматизировать процесс. Выбирать объект в AutoCAD-е всё равно придётся вручную, но Copy в AutoCAD-е и Paste в Excel-е хотелось бы автоматизировать.
Процедура должна выглядеть так:
1. Клик мышкой по текстовому объекту.
2. Запуск скрипта (например по Ctrl+Q).
В задачу скрипта входит:
1. В AutoCAD-е: text edit -> select all -> Ctrl+C в буфер обмена Windows.
2. Перейти в Excel.
3. В Excel-е: Paste в активную клетку, активизировать клетку в следующей строке.
4. Перейти в AutoCAD.
5. В AutoCAD-е: Отменить активизацию объекта.
Вопрос: Как это сделать? Есть в Windows какое-то средство для написания подобных скриптов (наподобие Macro Recorder в экселе)?

#2 Ответ от Valery Brelovsky 7 ноября 2007г. 16:34:49

  • Valery Brelovsky
  • Активный участник
  • Откуда: Израиль / Север Израиля / Кирь
  • На форуме с 3 июня 2005г.
  • Сообщений: 2,359
  • Спасибо: 19

Re: Перенос данных из AutoCAD-а в Excel.

#3 Ответ от mik 7 ноября 2007г. 21:57:15

  • mik
  • Восстановленный участник
  • На форуме с 19 декабря 2003г.
  • Сообщений: 71
  • Спасибо: 0

Re: Перенос данных из AutoCAD-а в Excel.

> Valery Brelovsky
🙁
Сходил. Страшно там. Люди о лиспе говорят, а для меня это тёмный лес. Кроме того, там обсуждается как перенести данное (или кучу данных одновременно) в создаваемый файл.
Мне же необходимо последовательно (по одному!) переносить данные в существующий (редактируемый в данный момент) файл.
Я бы хотел обойтись средствами операционной системы, если такие есть.
Всё что мне нужно — это Ctrl+C в одной программе, перейти в другую (Alt+Tab), Ctrl+V и Enter в другой программе, вернуться в первую (Alt+Tab), и дать один раз Esc. Просто запускать этот набор команд по Ctrl+Q.
Неужели для такой ерунды нельзя обойтись без лиспа?

#4 Ответ от kpblc 7 ноября 2007г. 22:22:13

  • kpblc
  • Активный участник
  • Откуда: С.-Петербург
  • На форуме с 29 ноября 2004г.
  • Сообщений: 8,348
  • Спасибо: 23

Re: Перенос данных из AutoCAD-а в Excel.

Это не ерунда, а постоянная работа с 2 (или более) приложениями, с буфером обмена и тому подобное. Без программирования (ИМХО) обойтись нереально.

Источник

LISP. Excel-blocking — экспорт/импорт содержимого аттрибутов блоков в Excel

Решил поделиться двумя своими, на мой взгляд полезными, командами

Программа позволяет экспортировать в excel и импортировать назад содержимое аттрибутов блоков

ЗАПУСК программы производится из командной строки автокада путем ввода букв:
blks>excel[enter]
или
excel>blks[enter]

Пояснения:
blks>excel — экспортирует данные из атрибутов выделенных блоков автокада во вновь создаваемое окно excel
выделить блоки можно как до запуска команды так и после
(подсказка: выделяя блоки до запуска команды можно использовать фильтры выбора (команда _filter) или команду «Select Similar» из
всплывающего меню (правый щелчек мыши) на выделенном блоке
таким образом заранее сформировав нужный набор блоков)
В итоге, создается файл excel в котором каждому блоку будет соответствовать строка данных с заполненными значениями из аттрибутов
в шапке таблицы — имена атрибутов
и еще будет 1 столбец (или несколько — если в наборе были разные блоки) с «ручками» представляющими собой уникальный адрес блока в файле чертежа
по этому адресу можно будет импортировать данные из файла ексель назад в автокад

обратный импорт данных:
предварительно, в окне excel выделяется нужный диапазон данных — все данные или их часть (главное чтобы в набор попадала шапка таблицы и столбец(ы) с ручками)
далее идем в автокад и запускаем команду excel>blks

можно сохранять файл ексель и производить импорт данных позже, но тут важно понимать — если вы после экспорта скопировали
целевые блоки и вставили вновь (например для альтернативного решения) а старые удалили, то — хоть внешне этот набор не будет отличаться от
исходного, но ручки (handles) будут другие, и данные из файла excel не импортируются

Источник

Autocad Text To Excel Lisp

Table of Contents

Autocad Text To Excel Lisp

Export texts to excel sheet – AutoCAD to Excel – (CAD to excel …

Dec 19, 2014 … This lisp allow to users to transfer data such as text, Mtext and attribute from autocad drawings to excel sheet quickly and easily so users can …

Solved: Export value of text to Excel (sometimes error) – Autodesk …

Sep 23, 2020 … Solved: Dear all, Now I am using the lisp (T2E) to export value list of texts in CAD to Excel. Normally it runs OK but sometimes the error …

Exporting selected text to Excel Cell – AutoLISP, Visual LISP & DCL …

Guys, I need one help, someone knows one Lisp that I can get Texts (words) on AutoCad and export it in order of selection to a cell on Excel …

AutoCAD export texts to Excel with multiple files – Autodesk …

Oct 27, 2020 … I have found the perfect lisp routine, it gets the job done with one … a new Excel file to each dwg and just put all the text in them.

files and utilities – download – Txt2XLS – export … – CAD Studio

Get files for your AutoCAD, Inventor, Revit, Civil 3D, Fusion 360 and 3ds Max. … Txt2XLS – export selected drawing texts to Excel (VLX Lisp for AutoCAD).

Mar 12, 2018 … I use AutoCAD Electrical 2018, but I only utilize the 2D Drafting & Annotation. I know and understand LISP routines to get by. I know how to …

Exporting selected text to CSV, EXCEL or Notepad – AutoLISP …

I tried using the lisp file you gave in Autocad 2015, but its not workin for me. on running the MTO command I am able to select all the …

Txt2XLS – export selected drawing texts to Excel (VLX … – CAD Forum

CAD Forum – Txt2XLS – export selected drawing texts to Excel (VLX Lisp for AutoCAD)

Text2Column Lisp Program

autocad text to excel column. This lisp program will export selected texts to excel with four columns. If you require any changes in this program please …

Tip : Convert Autocad Text to Excel – Cad Lisp and Tips

May 12, 2014 … First copy and stack the text in a column. Go to “express tools” and select convert text to mtext. now select all the text and click enter.

Cad To Excel Lisp

Solved: Lisp to export table from AutoCAD to excel – Autodesk …

Feb 5, 2022 … Solved: Hello every one i need an autolisp code to export table from AutoCAD to excel i have a lisp that make more commands and i need the …

Transfer Table from AutoCad to Excel – AutoCAD Designer

Jun 12, 2020 … DOWNLOAD FOLDER COLED TE · EXTRACT THE FOLDER · OPEN FILE NAMED TABLE · UPLOAD THE LISP TE_TABLEEXPORT TO AUTOCAD FILE NAMED TABLE · COPY REQUIRED …

NEED LISP CAD TO EXCEL TEMPLATE – Autodesk Community …

Nov 7, 2019 … HI, Please Check Attached DWG and EXCEL File, I need Lisp to make AutoCAD to Excel as per Attached Format………. Thanks.

Apr 23, 2013 … Hello, I need some guidance in extracting data from Excel into CAD using LISP. The excel spreadsheet that I have has all the necessary …

Tip : Link Excel to AutoCAD Table – Cad Lisp and Tips

Sep 29, 2012 … Open Excel file and select cells ,copy to clip board · Switch to AutoCAD, from “EDIT” drop down menu Select “PASTE SPECIAL” · Click on “PASTE LINK …

Using LISP to Import From Excel – AutoCAD Forums

Sanders’ lisp routine which claims it will read data from Excel files. The code appears to be a generic module to which the end user needs to …

RenameCSV – rename layers, blocks, layouts, views … – CAD Forum

Jan 6, 2021 … How to rename layers or blocks in a DWG drawing in Excel? The RenameCSV LISP utility by CAD Studio allows to mass rename AutoCAD symbol tables …

Txt2Xls Lisp

Export Text from a Drawing to an Excel Spreadsheet | CAD Tips

Dec 1, 2008 … Export Text from a Drawing to an Excel Spreadsheet C:Txt2Xls is a LISP command for exporting text from a drawing to an Excel spreadsheet.

Click2XLS AND Text2XLS – Autodesk Community – AutoCAD

May 27, 2018 … If you have a concrete Lisp code question, ask them in Visual LISP, AutoLISP and General Customization Forum. – Sebastian -.

txt to excel LISP – AutoLISP, Visual LISP & DCL – AutoCAD Forums

Hi, I have been searching for a lisp to export txt to excel. Every lisp i’ve come across doesn’t quite cut it. We use AutoCAD LT 2013 and …

Export text from DWG to CSV/Excel – AutoLISP, Visual LISP & DCL …

I’ve found a wonderful Lisp script (in compiled format VLX) that does it this. This is called Txt_to_Xls_V2.VLX, and you can view on this …

Excel Data Autocad Lisp

Excel To AutoCAD By Using LISP. Excel Data Link Tentangcad Com. Creating A Data Link With An Excel Table AutoCAD Tips. CAD. Forum Txt2XLS Export Selected …

Text to excel sheet – AutoLISP, Visual LISP & DCL – AutoCAD Forums

For a certain situation it would be rather helpful for a colleague of mine to have a .lsp routine that would collect all the text elements …

Load/Unload Applications Dialog Box | AutoCAD 2016 | Autodesk …

Dec 15, 2015 … LISP applications cannot be unloaded, nor can ObjectARX applications that are not registered for unloading. Note: Remove does not unload the …

Recommendations for You

Autocad Ders Notları

Autocad Ders Notları BİLKEY AUTOCAD DERS NOTLARI VE KISAYOL KOMUTLARI … BİLKEY AUTOCAD DERS NOTLARI VE KISAYOL KOMUTLARI www.bilkey.com.tr 0216 354 79 79. AUTOCAD EĞĠTĠM… Read More » Autocad Ders Notları

Autocad Draw Rectangle

Autocad Draw Rectangle To Draw a Rectangle | AutoCAD 2020 | Autodesk Knowledge Network Mar 29, 2020 … By Length and Width · Click Home… Read More » Autocad Draw Rectangle

Autocad Certificate Online Courses

Autocad Certificate Online Courses Official CAD Training and Certification | Autodesk Your learning and training options range from free tips and tricks, videos, … Take… Read More » Autocad Certificate Online Courses

Autocad Youtube Tutorials

Is Autocad Hard To Learn Is AutoCad hard to learn? : r/AutoCAD Aug 21, 2019 … There is a learning curve, yes, but if you… Read More » Autocad Youtube Tutorials

Autocad Block Libraries

Autocad Block Libraries Block libraries in AutoCAD | AutoCAD 2021 | Autodesk Knowledge … Jan 15, 2021 … Block libraries are available in the library… Read More » Autocad Block Libraries

Autocad Drafter Salaries

Autocad Drafter Salaries Autocad Drafter Salary (October 2022) – Zippia | Average Autocad … Autocad drafters make $41,984 per year on average, or $20.18 per… Read More » Autocad Drafter Salaries

Thank you for sharing this information. This is very useful information.

The tutorial you posted will teach us how to work with AutoCAD 2016 step by step from start to finish.…

A logo should be decent and simple so the people can recognize as soon as they see them

yap is real i can draw it i love it thanks you i love you

I am really grateful to be able to benefit from your knowledge

This is a great article. Very insightful. Thanks for the post.

The information of site is useful. thank you

Источник

Страницы 1 2 Далее

Чтобы отправить ответ, вы должны войти или зарегистрироваться

RSS

Сообщения с 1 по 25 из 39

#1 30 марта 2007г. 10:34:44

  • Victor
  • Восстановленный участник
  • На форуме с 26 марта 2007г.
  • Сообщений: 270
  • Спасибо: 0

Тема: LISP. AutoCAD -> Excel

Написал простенькую програмку, которая позволяет выделить
блоки рамкой или поочереди и создаёт файл Exel в папке
Exl. В файле выводит первый атрибут блока и координаты
блока X Y Z. Папка уже должна быть. Если поставить
расширение .txt то и файл будет txt.

(defun c:a-e(/)
(setq nameset (ssget "_:L" '(( 0 . "INSERT")))); imya nabora
(setq setlength (sslength nameset)); dlina nabora
(setq i -1)
(setq myfile (open "c:\Exl\Exl.xls" "w"))
  (repeat setlength
    (setq i (1+ i))
    (setq blcrun (ssname nameset i));imya tekushevo bloka
    (setq attrun (entnext blcrun)); imya tekushevo atributa
    (setq namrun (cdr(assoc 1 (entget attrun)))); atribut
    (princ namrun myfile)
    (princ "t" myfile)
    (setq korrun (cdr (assoc 10 (entget blcrun)))); koord nulevogo(X Y Z)
    (setq xrun (car korrun)) ; X
    (princ xrun myfile)
    (princ "t" myfile)
    (setq yrun (cadr korrun)) ;Y
    (princ yrun  myfile)
    (princ "t" myfile)
    (setq zrun (caddr korrun)) ;Z
    (princ zrun  myfile)
    (princ "n" myfile)
  ) ;konec repeat
(close myfile)
(setq myfile nil)
) ;konec defun

#2 Ответ от Michael 31 марта 2007г. 01:22:34

  • Michael
  • Восстановленный участник
  • На форуме с 31 марта 2007г.
  • Сообщений: 1
  • Спасибо: 0

Re: LISP. AutoCAD -> Excel

Vse horosho, no hotelos bi 3znaka posle zapyatoy.
budu blagodaren za ispravlenie.

#3 Ответ от Victor 2 апреля 2007г. 20:10:31

  • Victor
  • Восстановленный участник
  • На форуме с 26 марта 2007г.
  • Сообщений: 270
  • Спасибо: 0

Re: LISP. AutoCAD -> Excel

Вот что у меня:
ee41    231.419    139.43    -0.484562
ee12    227.296    128.664    9.33E-14
ee20    223.173    117.898    0.484562
ee28    219.05    107.132    9.69E-01
В Exel есть две кнопочки которые позволяют
увеличивать и уменьшать кол-во знаков
после запятой.

#4 Ответ от Victor 5 апреля 2007г. 11:51:44

  • Victor
  • Восстановленный участник
  • На форуме с 26 марта 2007г.
  • Сообщений: 270
  • Спасибо: 0

Re: LISP. AutoCAD -> Excel

Да действительно. Только 8 позиций выдаёт.
Попробуйте другой вариант.Выдаёт 3 знака после
запятой. Но в Exel всё равно надо добавлять
знаки после запятой

(defun c:atoe(/)
(setq nameset (ssget "_:L" '(( 0 . "INSERT")))); imya nabora
(setq setlength (sslength nameset)); dlina nabora
(setq i -1)
;(setq myfile (open "c:\Exl\Exl.xls" "w"))
(setq myfile (open "c:\Exl\Exl.txt" "w"))
  (repeat setlength
    (setq i (1+ i))
    (setq blcrun (ssname nameset i));imya tekushevo bloka
    (setq attrun (entnext blcrun)); imya tekushevo atributa
    (setq namrun (cdr(assoc 1 (entget attrun)))); atribut
    (princ namrun myfile)
    (princ "t" myfile)
    (setq korrun (cdr (assoc 10 (entget blcrun)))); koord nulevogo(X Y z)
    (setq xrun (rtos (car korrun) 2 3)) ; X
    (princ xrun myfile)
    (princ "t" myfile)
    (setq yrun (rtos (cadr korrun) 2 3)) ;Y
    (princ yrun  myfile)
    (princ "t" myfile)
    (setq zrun (caddr korrun)) ;Z
    (princ zrun  myfile)
    (princ "n" myfile)
  ) ;konec repeat
(close myfile)
(setq myfile nil)
) ;konec defun

#5 Ответ от Victor 7 апреля 2007г. 21:24:20

  • Victor
  • Восстановленный участник
  • На форуме с 26 марта 2007г.
  • Сообщений: 270
  • Спасибо: 0

Re: LISP. AutoCAD -> Excel

А эта спрашивает название файла и пишет в ту же папку

(defun c:a-e(/)
(setq nameset (ssget "_:L" '(( 0 . "INSERT")))); imya nabora
(setq namefile (getstring " Enter name file: "))
;(setq mypath (strcat "c:\Exl\" namefile ".txt"))
(setq mypath (strcat "c:\Exl\" namefile ".xls"))
(setq myfile (open mypath "w"))
  (setq setlength (sslength nameset)); dlina nabora
  (setq i -1)
  (repeat setlength
    (setq i (1+ i))
    (setq blcrun (ssname nameset i));imya tekushevo bloka
    (setq attrun (entnext blcrun)); imya tekushevo atributa
    (setq namrun (cdr(assoc 1 (entget attrun)))); atribut
    (princ namrun myfile)
    (princ "t" myfile)
    (setq korrun (cdr (assoc 10 (entget blcrun)))); koord nulevogo(X Y z)
    (setq xrun (car korrun)) ; X
    (princ (rtos xrun 2 3) myfile)
    (princ "t" myfile)
    (setq yrun (cadr korrun)) ;Y
    (princ (rtos yrun 2 3) myfile)
    (princ "t" myfile)
    (setq zrun (caddr korrun)) ;Z
    (princ  (rtos zrun 2 3) myfile)
    (princ "n" myfile)
  ) ;konec repeat
(close myfile)
(setq myfile nil)
) ;konec defun

#6 Ответ от Мила 14 апреля 2007г. 19:51:34

  • Мила
  • Восстановленный участник
  • На форуме с 30 марта 2007г.
  • Сообщений: 34
  • Спасибо: 0

Re: LISP. AutoCAD -> Excel

> Виктор
Добрый вечер, Виктор.
Спасибо за программку. Скажите, а сложно сделать так , что бы вместо координат в таблицу вносилось количество одноименных блоков, вставленных в чертеж? Если можно, то как? И еще вопрос, что  надо изменить в программе, что бы указать иной путь к папке exl для создания списка?

#7 Ответ от Victor 16 апреля 2007г. 12:59:20

  • Victor
  • Восстановленный участник
  • На форуме с 26 марта 2007г.
  • Сообщений: 270
  • Спасибо: 0

Re: LISP. AutoCAD -> Excel

Вы имеете в виду нумерацию 1,2,3…?
Путь в этой строке (setq mypath (strcat «c:\Exl\» namefile «.xls»))
Это путь c:\Exl\ или  d:\New\MoiGluposti\

#8 Ответ от iv 23 апреля 2007г. 14:25:51

  • iv
  • Восстановленный участник
  • На форуме с 24 ноября 2006г.
  • Сообщений: 173
  • Спасибо: 0

Re: LISP. AutoCAD -> Excel

> Мила
Вот здесь
https://www.caduser.ru/forum/topic31669.html
см VVA (2007-01-08 16:51:13)
функция переводящая площади/длины/блоки в Excel на мой взглад — оптимально.

#9 Ответ от Мила 29 апреля 2007г. 09:09:55

  • Мила
  • Восстановленный участник
  • На форуме с 30 марта 2007г.
  • Сообщений: 34
  • Спасибо: 0

Re: LISP. AutoCAD -> Excel

> iv
Спасибо. Особенно за MoiGluposti, к которым Вы так внимательны))

#10 Ответ от Victor 30 апреля 2007г. 14:17:27

  • Victor
  • Восстановленный участник
  • На форуме с 26 марта 2007г.
  • Сообщений: 270
  • Спасибо: 0

Re: LISP. AutoCAD -> Excel

С нумерацией наверное будет так

(defun c:a3e( / nameset namefile mypath setlength i blcrun
                attrun namrun korrun xrun yrun zrun )
(setq nameset (ssget "_:L" '(( 0 . "INSERT")))); imya nabora
(setq namefile (getstring " Enter name file: "))
;(setq mypath (strcat "c:\Exl\" namefile ".txt"))
(setq mypath (strcat "c:\Exl\" namefile ".xls"))
(setq myfile (open mypath "w"))
(setq setlength (sslength nameset)); dlina nabora
(setq i -1)
(repeat setlength
(setq i (1+ i))
(princ (+ 1 i) myfile)
(princ "  t" myfile)
(setq blcrun (ssname nameset i));imya tekushevo bloka
(setq attrun (entnext blcrun)); imya tekushevo atributa
(setq namrun (cdr(assoc 1 (entget attrun)))); atribut
(princ namrun myfile)
(princ "t" myfile)
(setq korrun (cdr (assoc 10 (entget blcrun)))); koord nulevogo(X Y z)
(setq xrun (car korrun)) ; X
(princ (rtos xrun 2 3) myfile)
(princ "t" myfile)
(setq yrun (cadr korrun)) ;Y
(princ (rtos yrun 2 3) myfile)
(princ "t" myfile)
(setq zrun (caddr korrun)) ;Z
(princ (rtos zrun 2 3) myfile)
(princ "n" myfile)
) ;konec repeat
(close myfile)
(setq myfile nil)
) ;konec defun

#11 Ответ от Мила 30 апреля 2007г. 17:53:44

  • Мила
  • Восстановленный участник
  • На форуме с 30 марта 2007г.
  • Сообщений: 34
  • Спасибо: 0

Re: LISP. AutoCAD -> Excel

> Виктор
Добрый день. На самом деле моя задача (или желание)выглядит так: в чертеже есть блоки, надо получит в exel список блоков, их количество и еще одну колонку, в которой будет указана некая информация о блоке. Желательно иметь возможность указать где разместить создаваемый файл exel. Программирование для меня-китайская грамота. Все, что я умею-это загрузить программу и пользоваться ею. Поэтому прошу прощения, если мои вопросы или просьбы вызывают недоумение или иные негативные чувства.

#12 Ответ от Victor 28 мая 2007г. 11:21:01

  • Victor
  • Восстановленный участник
  • На форуме с 26 марта 2007г.
  • Сообщений: 270
  • Спасибо: 0

Re: LISP. AutoCAD -> Excel

Может быть проще воспользоваться стандартной
программой Attribute Extraction из линейки
Modify II.

#13 Ответ от Serg7 8 марта 2008г. 11:48:38

  • Serg7
  • Восстановленный участник
  • На форуме с 8 марта 2008г.
  • Сообщений: 13
  • Спасибо: 0

Re: LISP. AutoCAD -> Excel

Уважаемый Виктор!
Вы с такой легкостью пишете на LISPe, что Вам не составит особого труда немного преобразовать свою программу и сделать то,о чем Вас просила Мила — но мне пока нужно, чтобы программа заносила в файл xls количество и имена блоков(нединамических), выделенных на чертеже, т.е. не всех.
Заранее спасибо!
Сергей

#14 Ответ от Victor 9 марта 2008г. 21:52:20

  • Victor
  • Восстановленный участник
  • На форуме с 26 марта 2007г.
  • Сообщений: 270
  • Спасибо: 0

Re: LISP. AutoCAD -> Excel

один раз проверил. сильно не ругайтесь
(defun c:b2e( / name_file myfile nameset setlength
                blcrun nam_1 sec_set l i namrun)
(setq name_file (getfiled «save moi gluposti» «c:\» «xls» 1))
(setq myfile (open name_

file "w"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(setq nameset (ssget "_:L" '(( 0 . "INSERT")))) ;imya nabora
(setq setlength (sslength nameset)); dlina nabora
(while (/= setlength 0)
(setq setlength (- setlength 1))
(setq blcrun (ssname nameset 0));imya 1 bloka
(setq nam_1 (cdr (assoc 2 (entget blcrun)))) ;imya
(setq sec_set (ssadd))
(setq l 1)
(setq i 0)
(repeat setlength
    (setq i (1+ i))
    (setq blcrun (ssname nameset i));imya tekushevo bloka
    (setq namrun (cdr (assoc 2 (entget blcrun)))) ;imya
    (if (= nam_1 namrun) (setq l (+ l 1)) (ssadd blcrun sec_set))
(princ " setlength=")
(princ (sslength sec_set))
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(princ nam_1 myfile)
(princ "t" myfile)
(princ l myfile)
(princ "n" myfile)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(setq nameset sec_set)
(setq sec_set nil)
(setq setlength (sslength nameset)); dlina nabora
)
(close myfile)
(setq myfile nil)
)

#15 Ответ от kpblc 9 марта 2008г. 23:25:35

  • kpblc
  • kpblc
  • Активный участник
  • Откуда: С.-Петербург
  • На форуме с 29 ноября 2004г.
  • Сообщений: 8,348
  • Спасибо: 23

Re: LISP. AutoCAD -> Excel

#16 Ответ от kpblc 9 марта 2008г. 23:37:09

  • kpblc
  • kpblc
  • Активный участник
  • Откуда: С.-Петербург
  • На форуме с 29 ноября 2004г.
  • Сообщений: 8,348
  • Спасибо: 23

Re: LISP. AutoCAD -> Excel

Еще один вариант, возможно, повторяет > Victor (2008-03-09 21:52:20)

(defun c:b2e (/ *error* file handle selset res name count)
  (defun *error* (msg)
    (vl-catch-all-apply '(lambda () (close handle)))
    (princ msg)
    (princ)
    ) ;_ end of defun
  (if (and (setq selset (ssget '((0 . "INSERT"))))
           (setq file (getfiled "Файл результата" "" "xls" 1))
           ) ;_ end of and
    (progn
          ; (setq handle (open file "w"))
      (foreach item
               ((lambda (/ lst ent)
                  (repeat (setq ent (sslength selset))
                    (setq lst (cons (ssname selset (setq ent (1- ent))) lst))
                    ) ;_ end of repeat
                  lst
                  ) ;_ end of lambda
                )
        (if (setq
              count (cdr (assoc (setq name (cdr (assoc 2 (entget item)))) res))
              ) ;_ end of setq
          (setq res (subst (cons name (1+ count)) (assoc name res) res))
          (setq res (cons (cons name 1) res))
          ) ;_ end of if
        ) ;_ end of foreach
      (if res
        (progn
          (setq handle (open file "w"))
          (write-line "ИмяtКоличество" handle)
          (foreach item res
            (write-line (strcat (car item) "t" (itoa (cdr item))) handle)
            ) ;_ end of foreach
          (close handle)
          ) ;_ end of progn
        ) ;_ end of if
      ) ;_ end of progn
    ) ;_ end of if
  (princ)
  ) ;_ end of defun

#17 Ответ от Serg7 10 марта 2008г. 01:46:44

  • Serg7
  • Восстановленный участник
  • На форуме с 8 марта 2008г.
  • Сообщений: 13
  • Спасибо: 0

Re: LISP. AutoCAD -> Excel

Должен сказать Виктору и Алексею огромное спасибо! За участие и готовность помочь. Программа Алексея(которая в самом конце сообщения) побеждает со счетом 1:0, т.к. программа Виктора, несмотря на ее попытку сохранить файл xls, выдала следующее:
c:b2e
error:bad argument type
(sslenght nameset)
(setq setlenght(sslenght nameset),а сохранила файл-пустышку.
Не сочтите за наглость, но уже давно у меня есть задумка подсчитанные количества блоков передавать прямо в существующий файл xls по их именам. Ваш, Алексей, вариант мне подходит, но после требуется еще некоторая возня в Excelle. Это, конечно, мелочи, но хотелось бы еще повысить степень автоматизации. Так возможно ли реализовать такой подход путем доработки программы b2e — ввод количества выделенных блоков в готовую таблицу Excell?

#18 Ответ от Dextron3 19 марта 2008г. 20:24:01

  • Dextron3
  • Восстановленный участник
  • На форуме с 21 июня 2007г.
  • Сообщений: 27
  • Спасибо: 0

Re: LISP. AutoCAD -> Excel

Кто скажет как в Автокад можно вставить таблицу  из EXEL ввиде приметивов, линии и тексты, в AutoCAD 2004 была вставка «Autocad entrimes» (сегодня показывали второе слово не запомнил) а потом в последних версиях она упразднена, как ее можно заменить, просто в обной конторе все сидят из за этого в 2004 автокаде, посоветуйте…

#19 Ответ от Victor 20 марта 2008г. 09:43:07

  • Victor
  • Восстановленный участник
  • На форуме с 26 марта 2007г.
  • Сообщений: 270
  • Спасибо: 0

Re: LISP. AutoCAD -> Excel

В AutoCAD 2004 нет вставки таблицы.
Только как OLE объект.
Кажется с 2006 появилась такая опция.
Draw->Table

#20 Ответ от Dextron3 21 марта 2008г. 17:01:06

  • Dextron3
  • Восстановленный участник
  • На форуме с 21 июня 2007г.
  • Сообщений: 27
  • Спасибо: 0

Re: LISP. AutoCAD -> Excel

> Victor
Не то, мне именно надо чтобы как в 2004
таблица динамическая не нужна…

#21 Ответ от Маркшейдер_КРСК 21 марта 2008г. 19:49:23

  • Маркшейдер_КРСК
  • Участник
  • На форуме с 27 октября 2006г.
  • Сообщений: 29
  • Спасибо: 0

Re: LISP. AutoCAD -> Excel

Люди, подскажите пожалуйста, мне по зарез необходима такая программа как тыт описывается, координаты в Exel переводящая, только вот это с этими кодами делать, который тут написаны?!:) подскажите пожалуйста куда их вставлять и как сделать чтоб жто все работало?!:)
p.s. я далек от програмирования)))

#22 Ответ от AlexV 22 марта 2008г. 21:25:16

  • AlexV
  • Активный участник
  • Откуда: С-Пб
  • На форуме с 19 июня 2003г.
  • Сообщений: 330
  • Спасибо: 4

Re: LISP. AutoCAD -> Excel

Вот здесь все довольно подробно описано:
http://dwg.ru/art/8

#23 Ответ от Victor 23 марта 2008г. 12:29:00

  • Victor
  • Восстановленный участник
  • На форуме с 26 марта 2007г.
  • Сообщений: 270
  • Спасибо: 0

Re: LISP. AutoCAD -> Excel

#24 Ответ от Маркшейдер_КРСК 23 марта 2008г. 16:28:20

  • Маркшейдер_КРСК
  • Участник
  • На форуме с 27 октября 2006г.
  • Сообщений: 29
  • Спасибо: 0

Re: LISP. AutoCAD -> Excel

Спасибо огромное!:)

#25 Ответ от Disney 25 марта 2008г. 08:13:30

  • Disney
  • Disney
  • Активный участник
  • Откуда: Сибирь / Новосибирск
  • На форуме с 28 февраля 2007г.
  • Сообщений: 471
  • Спасибо: 25

Re: LISP. AutoCAD -> Excel

Чё-то вот такое ругается
; error: bad argument type: lentityp nil

Страницы 1 2 Далее

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Export points from autocad to excel Northing Easting as points

  1. Upload lisp by typing in command line AP.
  2. Type in command line ( Click2XLS )
  3. The Excel file will open automatically.
  4. Press enter & flow screen instruction.

How do I export coordinates from AutoCAD?

Use the DATAEXTRACTION command to extract geometric data from objects in an AutoCAD drawing to a table or to an external file. Note: It is also possible to utilise AutoLISP programming (not available in AutoCAD LT) to speed up the extraction.

How do I import XYZ coordinate data into Excel from AutoCAD?

Importing coordinates using excel formula

  1. Feed the X, Y, Z Coordinates of the Point in the Command Bar.
  2. Click anywhere in the drawing area and an AutoCAD point Object will be created at that particular point.

What is Lisp AutoCAD?

Lisp, XLISP. AutoLISP is a dialect of the programming language Lisp built specifically for use with the full version of AutoCAD and its derivatives, which include AutoCAD Map 3D, AutoCAD Architecture and AutoCAD Mechanical.

How do I convert AutoCAD points to CSV?

Click on newly created objects in the Display Manager and click on Table. At the bottom of the table click on Options and Select All. Right-click on Options once again and click Export. Chose place of your CSV file and save it.

How do I find the coordinates of a point in AutoCAD?

By default the Ribbon View tab > Coordinates panel is turned off. To show the panel, click the View tab then, right-click to the side of the available panels and click Show Panels > Coordinates. The Coordinates panel will be displayed.

How do you write a LISP routine in AutoCAD?

All you have to do is type CUI in the command line. Next, find the LISP Files category in the Customization in All Files section of the CUI dialog box, right-click on it, and choose Load Lisp from the context menu. Navigate to the location of where your LISP file is, and it will appear in the list.

How do I run a LISP in AutoCAD?

Load with the CUI

  1. Run the CUI (Command)
  2. Select the ‘acad. cuix’ (or a custom partial . cuix).
  3. Select LISP files and Right-Mouse Click.
  4. Select Load LISP from the context menu.
  5. Browse to the location of the LISP to add and select the file.
  6. Click Apply and Close to exit the CUI editor.


Добро пожаловать!

Войдите или зарегистрируйтесь сейчас!

Войти

Страница 1 из 2


  1. xxxNaruto

    Форумчанин

    Регистрация:
    18 дек 2013
    Сообщения:
    56
    Симпатии:
    1

    Добрый день! Требуется лисп для решения следующей задачи:нажимаю команду лиспа; выбираю в AutoCade последовательно ( к примеру, 4 значения текста: 100, 101,102,103 и 3 проставленных размера:10,20,30), нажимаю enter. и лисп мне их вставляет в exel (или просто копирует в память в нужной форме и я просто наживаю вставить) и получается: запись в строке и каждое значение в отдельной ячейке: 100,101,102,103,10,20,30?!
    Может есть у кого что-то подобное или кто-нибудь сделает?! Заранее благодарен!

    1.jpg

    2.jpg

    #1


  2. Qvinto

    Форумчанин


  3. xxxNaruto

    Форумчанин

    Регистрация:
    18 дек 2013
    Сообщения:
    56
    Симпатии:
    1

    Спасибо, но не подходит по следующим причинам: Программа не видит проставленные линейные размеры; при использовании каждый раз открывается новое окно Exel и значения вставляются в Exel в расположение схожим в чертеже, а требуется просто вставить в строчку!

    #3


  4. max7

    Форумчанин

    Регистрация:
    3 июн 2008
    Сообщения:
    7.920
    Симпатии:
    3.047
    Адрес:

    Пермь

    То же была необходимость не раз создавать таблицу из элементов автокада. Я делал через извлечение данных. Но там такая муторная и долгая процедура…. Вот бы облегчить и упростить…. ткнул, выбрал нужный обретут и он в таблице. Или бы выбрал оптом по поиску и все сразу в таблицу.

    #4


  5. xxxNaruto

    Форумчанин

    Регистрация:
    18 дек 2013
    Сообщения:
    56
    Симпатии:
    1


  6. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.452
    Симпатии:
    1.038
    Адрес:

    Киев

    Второе приближение.
    Пока есть ограничение — данные не заносятся в колонки идущие после Z.
    Разархивировать архив в одну папку, запустить двойным щелчком dwg, загрузить программу и следовать запросам программы. Выбирать нужно по одному, бо только в этом случае выбранные значения попадут в Excel в нужной последовательности.
    Перед работой программы файл Excel должен быть закрыт. Иногда файл закрыт, но программа выдает сообщение с требованием закрыть файлы. Это происходит, когда Excel запущен в памяти, как процесс, хотя визуально вроде бы Excel нигде не наблюдается.
    В этом случае нажать окей и продолжить работу.
    Перезапуск программы, набрать 11 и нажать пробел или Enter.
    Точность вывода размеров задается в автокаде Формат->Единицы чертежа->Точность.

    Вложения:

    #6

    Последнее редактирование: 14 мар 2016


  7. FOXXX591

    Форумчанин

    Регистрация:
    19 окт 2012
    Сообщения:
    3.171
    Симпатии:
    2.493
    Адрес:

    г.Смоленск

    ivsem, а можно немного переделать приложение, чтобы числа в эксель отображались в той последовательности как и в автокаде слева направо и в строке с величиной размера отображалась величина текстовой строки размера, т.к иногда приходится менять ее вручную.

    #7


  8. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.452
    Симпатии:
    1.038
    Адрес:

    Киев

    Только выбирая индивидуально текст или размер можно гарантированно соблюсти порядок вывода в Excel. В принципе, при выборе например рамкой, можно программно применить сортировку, но нужно четко знать закономерности.
    Для размеров можно реализовать следующее. Если текстовая строка пустая, то выводится величина размера. Если не пустая, то выводится текстовая строка.

    #8


  9. FOXXX591

    Форумчанин

    Регистрация:
    19 окт 2012
    Сообщения:
    3.171
    Симпатии:
    2.493
    Адрес:

    г.Смоленск


  10. xxxNaruto

    Форумчанин

    Регистрация:
    18 дек 2013
    Сообщения:
    56
    Симпатии:
    1

    Спасибо большое за работу! Не могли бы Вы ответить на несколько вопросов:
    — Все файлы ( рабочий файл dwg, exel файл и файл vlx) должны находиться всегда в одной папке?
    — Данные всегда будут записываться в файл Proba01.xls?
    — Как правильно использовать vlx приложение (дело в том, что я только работал c приложениями lsp: тут я просто автоподгрузку делал и при необходимости вызывал нужную команду, здесь же при автоподгрузке файла мне каждый раз при открытии Autocada, выходит команда использования данного приложения)? Есть ли тут тоже команда для использования в нужный момент приложения?
    — Можно поправить, чтоб было 2 знака после запятой (я бы сам возможно разобрался и поправил, но тут я даже не понял через что открыть приложение чтоб посмотреть код)?

    #10


  11. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.452
    Симпатии:
    1.038
    Адрес:

    Киев

    В посте #6 выложена вторая версия программы. Добавлена возможность вывода начиная с произвольной ячейки.
    Если размер правлен вручную, то будет выводится исправленное значение (текстовая строка)- Да, пока Proba01.xls, но могу заменить на *.xlsx
    — Разницы в использовании vlx, fas, lsp нет никакой.
    Перезапуск программы, набрать 11 и нажать пробел или Enter.
    Точность вывода размеров в Excel задается в автокаде Формат->Единицы чертежа->Точность.
    Программы лучше всего вешать на кнопки.

    #11


  12. xxxNaruto

    Форумчанин

    Регистрация:
    18 дек 2013
    Сообщения:
    56
    Симпатии:
    1

    Все файлы ( рабочий файл dwg, exel файл и файл vlx) должны находиться всегда в одной папке?
    Точность вывода размеров в Excel задается в автокаде Формат->Единицы чертежа->Точность (в данном случае точность применяется ко всему чертежу, т.е. ко всем размерам, что порой не требуется) но в данном случае так все сойдет.
    Пробуя сейчас AcadToExcel01 и AcadToExcel02, при использовании приложения в экслель лин. размеры вставляются форматом как Число (напр, 03март). Причем используя ваш dwg файл, все ок, копирую в папку свой dwg получается такая вот фигня. Как это решить?
    И еще у меня в профилях высоты (текст) проставлены через точку (123.10) и соответственно в эксель он также вставляет. Можно как-нибудь решить эту проблему (чтоб получилось через запятую) в экселе или в автокаде?

    #12


  13. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.452
    Симпатии:
    1.038
    Адрес:

    Киев

    Выложи свой Excel файл.
    Добавлю в программу при выводе в Excel замену точки на запятую.

    #13


  14. xxxNaruto

    Форумчанин

    Регистрация:
    18 дек 2013
    Сообщения:
    56
    Симпатии:
    1

    Excel файл ваш, я ничего не менял)

    #14


  15. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.452
    Симпатии:
    1.038
    Адрес:

    Киев

    Третья версия программы, добавил замену точки на запятую при выводе в Excel.
    Замена точки на запятую у меня в єкселе придает ячейкам фомат текстовый, что не есть хорошо, бо
    невозможно форматировать количество знаков после разделителя средствами экселя.

    Вложения:

    #15


  16. xxxNaruto

    Форумчанин

    Регистрация:
    18 дек 2013
    Сообщения:
    56
    Симпатии:
    1

    Все работает здорово! Спасибо огромное! Единственное, что можно переименовать эксель файл например, 11.xlsx (по названию команды)!
    Р.S: А так я заполняю примерно вот такие исполнительные. Куда вставляю данные из профиля: Номер пикетажа (текст), 2-4 числа (текст) и 2-3 размера (линейный размер). И соответственно получается 1 столбец — вставляю название пикета, 2,5,8,11 столбец — число (текст), 14, 17,20 — лин. размер. Если можно было чтоб вставлять еще в 1 столбец название пикетажа, и чтоб во 2-ой столбец вставлялось число и далее чтоб 5,8,11,14,17,20 (+3), то было бы вообще огонь, но это не принципиально. И так вам спасибо за работу!

    Вложения:

    • 11.jpg

      11.jpg
      Размер файла:
      284,7 КБ
      Просмотров:
      15

    #16


  17. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.452
    Симпатии:
    1.038
    Адрес:

    Киев

    xxxNaruto, лучше всего если Вы выложите dwg и к нему заполненную excel-табличку с подробным описанием, что брать из dwg и в какую ячейку помещать. В принципе это должно было бы быть в вашем первом посте.

    #17


  18. xxxNaruto

    Форумчанин

    Регистрация:
    18 дек 2013
    Сообщения:
    56
    Симпатии:
    1

    Вот пример заполнения одного профиля! Номерами подписано от куда и я беру данные (автокад) и куда конкретно вставляю (эксель)!

    Вложения:

    #18


  19. ivsem

    Форумчанин

    Регистрация:
    26 мар 2009
    Сообщения:
    2.452
    Симпатии:
    1.038
    Адрес:

    Киев

    xxxNaruto, пробуй четвертую версию заточенную под ведомость.

    Вложения:

    #19


    xxxNaruto и max7 нравится это.


  20. xxxNaruto

    Форумчанин

    Регистрация:
    18 дек 2013
    Сообщения:
    56
    Симпатии:
    1

    Все здорово! Спасибо! Единственное, что можно добавить (чтоб программа была более универсальной), чтоб текст можно было отдельно копировать (если требуется скопировать с чертежа только текст) и отдельно можно было копировать размеры (если требуется скопировать с чертежа только размер)! А так для конкретной задачи, все огонь!

    #20

Страница 1 из 2

Поделиться этой страницей

Recommended Posts


CafeJr

Community Regular

CafeJr

    • Share

:? Guys,

I need one help, someone knows one Lisp that I can get Texts (words) on AutoCad and export it in order of selection to a cell on Excel…

Eg.: If I have 10 words, as I’ll selecting it and when finished these then words will be exported to a cell (could be cels) to Excel.

Thanks in advance…

  • Quote

Link to comment
Share on other sites


Tharwat

Grand Master

Tharwat

    • Share

Can you explain your goal with an example ?

Are you wanting to select one by one to keep them in the same order exported to Excel ?

  • Quote

Link to comment
Share on other sites


BIGAL

Grand Master

BIGAL

    • Share

Getexecl.lsp it is a library of excel-autocad functions both ways.

GetExcel.zip

  • Quote

Link to comment
Share on other sites


CafeJr

Community Regular

CafeJr

  • Author
    • Share

Can you explain your goal with an example ?

Are you wanting to select one by one to keep them in the same order exported to Excel ?

In these picture In trying to clarify the task.

Tharwat, the selection is one by one, because I have a Big drawing with a lot of information, and I need to follow the names and select it to export by selection order. To show the example I put A and B, but it’s only to exemplify, not is necessary to work with two collumns or two line of cells, only get the words and export it to Excel in order of selection, it will help a lot.

Text exported by order selection to Excel.jpg


Edited January 10, 2015 by CafeJr

  • Quote

Link to comment
Share on other sites


CafeJr

Community Regular

CafeJr

  • Author
    • Share

Getexecl.lsp it is a library of excel-autocad functions both ways.

Thanks Bigal, I will try it too.

  • Quote

Link to comment
Share on other sites


BIGAL

Grand Master

BIGAL

    • Share

Your request is two parts, actually writing to excel is the easy bit and thinking about provide you always use A C C etc it can be done.

Thinking about it now if you just make a list of text (A-1 B-1 B-3 A-2 ETC ) You can take 1st character and check if its A B C D etc and set column (asc(text)) last number A-23 = 23+row offset = cell row so if some missing will jump over blanks. B-23 = cell 2,27

Thanks to Lee-mac for this it will give a number as an answer.

; use say nth of your list of text selected (setq nthtext (nth x testlist))
; to use (setq cellnum (Lm:parsenumbers nthtext))

;;-------------------=={ Parse Numbers }==--------------------;;
;;                                                            ;;
;;  Parses a list of numerical values from a supplied string. ;;
;;------------------------------------------------------------;;
;;  Author: Lee Mac, Copyright © 2011 - www.lee-mac.com       ;;
;;------------------------------------------------------------;;
;;  Arguments:                                                ;;
;;  s - String to process                                     ;;
;;------------------------------------------------------------;;
;;  Returns:  List of numerical values found in string.       ;;
;;------------------------------------------------------------;;

(defun LM:ParseNumbers ( s )
 (
   (lambda ( l )
     (read
       (strcat "("
         (vl-list->string
           (mapcar
             (function
               (lambda ( a b c )
                 (if
                   (or
                     (< 47 b 58)
                     (and (= 45 b) (< 47 c 58) (not (< 47 a 58)))
                     (and (= 46 b) (< 47 a 58) (< 47 c 58))
                   )
                   b 32
                 )
               )
             )
             (cons nil l) l (append (cdr l) (list nil))
           )
         )
         ")"
       )
     )
   )
   (vl-string->list s)
 )
)

  • Quote

Link to comment
Share on other sites


CafeJr

Community Regular

CafeJr

  • Author
    • Share

Sorry Bigal, the text at AutoCad, isn’t a specific address to Excel, it’s any kind of text, to be exported to Excel in «any» cell. I didn’t pay attention on AutoCad text that I wrote… similar a Excel cell address…

  • Quote

Link to comment
Share on other sites


pBe

Grand Master

pBe

    • Share

Getexecl.lsp it is a library of excel-autocad functions both ways.

:thumbsup: Cool lisp rouitne

  • Quote

Link to comment
Share on other sites


CafeJr

Community Regular

CafeJr

  • Author
    • Share

Getexecl.lsp it is a library of excel-autocad functions both ways.

Bigal, I don’t know why, but I loaded the Getexcl lisp but it doesn’t work, the command isn’t recognized. I did it in two AutoCad softwares, 2012 and 2013 versions…

  • Quote

Link to comment
Share on other sites


Tharwat

Grand Master

Tharwat

    • Share

Bigal, I don’t know why, but I loaded the Getexcl lisp but it doesn’t work, the command isn’t recognized. I did it in two AutoCad softwares, 2012 and 2013 versions…

The GetExcel.lsp is a function to deal to Excel files that release after the year 2003 and which their extension files would be formatted to .xls and xlsx … etc so this function alone does not help you with any .

Anyway , I have a plan to write a program with a dialog box to obtain the selected text strings before exporting them to txt format or Excel file with a format .csv . Would this be suitable for your needs ?

I am busy at the moment but would write it since that I think it would be handy program in general .

Tharwat

  • Quote

Link to comment
Share on other sites


CafeJr

Community Regular

CafeJr

  • Author
    • Share

Thank you Tharwat… I don’t know if it’s simple, but the idea is, is only collect a spread texts (words) in a drawing in order of selection… to export it to Excel.

  • Quote

Link to comment
Share on other sites


Tharwat

Grand Master

Tharwat

    • Share

Thank you Tharwat… I don’t know if it’s simple, but the idea is, is only collect a spread texts (words) in a drawing in order of selection… to export it to Excel.

Try this program and let me know .

Note: At the end of selecting texts , just press enter and type ( n ) or ( no ) to display the dialog for the last process .

(defun c:Test  (/ *error* _dialog dlg s name s l k save path o)
;;;        Tharwat 13.01.2015        ;;
 (defun *error*  (msg)
   (if (and dlg (findfile dlg))
     (vl-file-delete dlg)
     )
   (if (not (wcmatch (strcase msg) "*BREAK*,*CANCEL*,*EXIT*"))
     (princ (strcat "n** Error: " msg " **"))
     )
   (princ)
   )
 (defun _dialog  (/ id f)
   (cond
     ((not
        (and
          (setq dlg (vl-filename-mktemp nil nil ".dcl"))
          (setq f (open dlg "w"))
          (write-line
            "test : dialog {label = "Test Strings"; width = 40;
            : text { key = "path"; }
            spacer_1 ;
            : list_box { key = "lst"; height = 18;}
            : boxed_row {
            : button { label = "Okay"; key = "oki"; width = 12;}
            : button { label = "Exit"; key = "esc"; is_default = true; is_cancel = true; width = 12;}
            : button { label = "Save to"; key = "sv"; width = 12;}
            }}"
            f
            )
          (not (close f))
          )
        )
      (alert "Can't load the temporary file <!>")
      )
     ((or (not dlg)
          (not (> (setq id (load_dialog dlg)) 0))
          (not (new_dialog
                 "test"
                 id
                 )
               )
          )
      (princ "n Can not load Dialog !")
      )
     (t
      (start_list "lst")
      (mapcar 'add_list (reverse l))
      (end_list)
      (mode_tile "oki" 1)
      (set_tile "lst" "0")
      (action_tile
        "sv"
        "(if (setq path (getfiled "Save to" (getvar 'DWGPREFIX) "csv" 1))
             (progn
             (set_tile "path" path)
             (mode_tile "oki" 0))
           (mode_tile "oki" 1))"
        )
      (action_tile
        "oki"
        "(setq save t)(done_dialog)"
        )
      (action_tile "esc" "(setq save nil)(done_dialog)")
      (start_dialog)
      (unload_dialog id)
      (vl-file-delete dlg)
      )
     )
   save
   )
 (while
   (cond
     ((and (setq s (car (entsel "n Pick Texts :")))
           (wcmatch (cdr (assoc 0 (entget s))) "TEXT,MTEXT")
           )
      (setq l (cons (cdr (assoc 1 (entget s))) l))
      )
     ((or s (not s))
      (princ "nInvalid Selection !! Select text ONLY ")
      (initget 6 "Yes No")
      (or (not (setq k
                      (getkword "n Missed !! Continue [Yes/No] <Yes> :")))
          (eq k "Yes")
          )
      )
     )
   )
 (if (and l (setq save (_dialog)) (setq o (open path "w")))
   (progn
     (mapcar '(lambda (x) (write-line x o)) (reverse l))
     (close o)
     (princ "n Well done ...")
     )
   (princ "n Exit by User ")
   )
 (princ)
 )




  • Quote

Link to comment
Share on other sites


CafeJr

Community Regular

CafeJr

  • Author
    • Share

Woowwwww… He he he… Thanks Tharwat!… It Works as good as I need!!!…

The unique «delay» that I have it’s work with spreadsheets (by the number of usages), I’m thinking if has a way to fill up one spreadsheet only (I don’t know), or using a Ram memory to copy these texts to paste one a cell in a Excel file open… It’s that possible?…

  • Quote

Link to comment
Share on other sites


Tharwat

Grand Master

Tharwat

    • Share

Woowwwww… He he he… Thanks Tharwat!… It Works as good as I need!!!…

I am happy that you liked the program ;)

The unique «delay» that I have it’s work with spreadsheets (by the number of usages), I’m thinking if has a way to fill up one spreadsheet only (I don’t know), or using a Ram memory to copy these texts to paste one a cell in a Excel file open… It’s that possible?…

I don’t think that I got your point :unsure:

  • Quote

Link to comment
Share on other sites


CafeJr

Community Regular

CafeJr

  • Author
    • Share

Sorry,

Let me try to explain!…

Every time that I use it, I’ll create a spreadsheet (it’s ok, no problem, it’s help a lot even why I need to rewrite the path on Excel!).

It’ll be used to follow electrical cables on a drawing, think in one electrical installation I have one point (origin) and a target of the cable (instruments on the field), so, I have to do these follow the path texts (address of electrical pipes or cable trays) to select where the cable pass through, are many cable to do it one by one, you got it?…

Installation.jpg

  • Quote

Link to comment
Share on other sites

Join the conversation

You can post now and register later.

If you have an account, sign in now to post with your account.

Note: Your post will require moderator approval before it will be visible.

Обновление данных атрибутов из CSV-файлов

Описание подпрограммы для импорта и экспорта данных между чертежом AutoCAD и электронной таблицей Excel.

Tony Hotchkiss,
www.cadalyst.com

Используя команду экспорта данных AutoCAD, которая находится в меню Tools можно извлечь данные атрибутов в файл электронной таблицы Excel или в таблицу, размещенную в самом чертеже. Используя эту возможность, многие найдут хорошей идею редактировать атрибут непосредственно в электронной таблице, но чтобы измененные атрибуты отображались в чертеже необходимо производить обратный экспорт.

В данной статье описан пример подобной подпрограммы. Она состоит из двух файлов (ATTRIBUTE-TABLE-UPDATE.LSP и ATTRIBUTE-TABLE-UPDATE.DCL), и позволяет экспортировать определенные блоки (в нашем случае – датчики пожарной сигнализации) вмести с их атрибутами и x-y координатами в файл в формате CSV (текстовый файл с данными разделенными запятыми), который удобен для открытия в Excel. Программа так же позволяет делать изменения в атрибутах и удалять вставленные в чертеже объекты, если они отсутствуют в CSV-файле.


Рис. 1. Предложение выбора
опции Export/Import.

Загрузите подпрограмму отсюда. Распакуйте и сохраните файл в папку Support которая находится в каталоге, куда установлен AutoCAD. Используя команду Load Application из меню Tools выберем файл ATTRIBUTE-TABLE-UPDATE.LSP и загрузи его.

Чтобы запустить подпрограмму, введите ATU в командной строке, после чего вы увидите контекстное меню с предположением выбрать опцию. Предлагается два варианта – Export (по умолчанию) и Import (рис. 1).

Если вы выберите Export, отобразиться диалоговое окно Results File у вас будет запрошен номер комнаты, в которой находятся интересующие нас датчики сигнализации (рис. 2). Укажем имя файла.


Рис. 2. Диалоговое окно Results File

Файл с результатами экспорта будет иметь расширение CSV, и его можно будет открыть в Notepad или Excel. На рисунке 3. показан файл, открытый в электронной таблицей Excel. Вы можете сделать изменения в столбце ADDRESS1, и удалить при необходимости одну или несколько строк, если соответствующие изменения должны быть сделаны и в чертеже.


Рис. 3. электронная таблица EXCEL.

После того как вы сделаете все изменения и сохраните файл опят в CSV-формате, вы можете опять запустить нашу подпрограмму в AutoCAD, набрав в командной строке ATU, только теперь выберите опцию Import в начальном запросе программы. Отобразиться диалоговое окно Import file, в котором вы должны будите выбрать CSV-файл, содержащий изменения которые вы хотите сделать в чертеже.


Рис. 4. Диалоговое окно Import File.

После того, как файл для импорта будет выбран, изменения в чертеже будут сделаны и отобразиться диалоговое окно Address Changes (Рис. 5). Нажмите на OK чтобы удалить диалоговое окно и проверьте чертеж, все ли изменения сделаны правильно. Обратите внимание на то, что вы можете отобразить диалоговое окно Address Changes в любое время в текущей сессии работы над чертежом набрав в командной строке (Show Changes).


Рис. 5. Диалоговое окно Address Changes.

Описание кода подпрограммы

После запуска моих стандартных функций для обработки ошибок и управления системными переменными, программа активизирует функцию ATT-DATA-OUT, которая определяет опции Export и Import, и вызывает функции GETBLKS, PRINT-OUT, и DO-IMPORT, в зависимости от того, что вы выбрали – экспорт или импорт CSV-файла.

GETBLKS создает список всех вставленных командой INSERT объектов, которые необходимо обработать. В нашем примере мы жестко указали имя блока “FA_DEVICE_INIT” (датчик пожарной сигнализации). Вы можете изменить его на имя блока, с которым вы собираетесь работать в двух операторах IF в коде, который показан ниже:

(if (and (= (vla-get-HasAttributes blkobj) :vlax-true)
       (> (strlen bobjname) 13)
       (= (substr bobjname 1 14) "FA_DEVICE_INIT")
    ) ;_ end of and
   (progn
     (setq inspt (vla-get-InsertionPoint blkobj))
     (setq ipt (vlax-safearray->list (vlax-variant-value inspt)))
     (setq attribs (vla-getAttributes blkobj))
     (setq sarr (vlax-variant-value attribs))
     (setq num (vlax-safearray-get-u-bound sarr 1))
     (if (and (> num 0)
         (<(car ipt) 3000.0)
         )

В нашем примере во второй и третьей строке установлены параметры для включения вставленных блоков. По логике программы это происходит, если имя блока больше чем 13 символов и первые 14 символов – FA_DEVICE_INIT. Вы можете изменить это для чтобы программа обрабатывала ваши блоки. В предпоследней строке показанного кода указывается, что необходимо рассматривать только те вставки блока, где точка вставки меньше чем 3,000″ в направлении оси X. Вы так же можете изменить это в соответствии с вашими критериями.

Следующая функция, PRINT-OUT, ссылается на несколько специфических атрибутов – ADDRESS1 и DEVICE_LOCATION – вы можете изменить их на ваши атрибуты блока в сегменте кода функции PRINT-OUT, который показан ниже:

(write-line "ADDRESS1,Name,Device_Location,floor,X,Y" f1)
(repeat (length blklst)
  (setq lst (nth (setq i (1+ i)) blklst))
  (setq str (strcat (cadr (assoc "ADDRESS1" (nth 1 lst)))
                ","
                (car lst)
                ","
                (cadr (assoc "DEVICE_LOCATION" (nth 1 lst)))
                ","
                (itoa floor)
                ","
                (rtos (car (last lst)))
                ","
                (rtos (cadr (last lst)))
          ) ;_ end of strcat
  ) ;_ end of setq
  (write-line str f1)
) ;_ end of repeat

Функция DO-IMPORT открывает предназначенный для импорта CSV-файл и вызывает функцию DO-ADDRESS для построчного чтения этого файла, возвращает она список точек вставки блоков и список изменений для отображения в диалоговом окне Address Changes. Если вы хотите настроить эту часть кода для своих нужд, вы должны придерживаться структуры CSV-файла как показано на рис. 3, с учетом следующих критериев:

  • Первое поле – это значение атрибута, которое можно изменять (ADDRESS1 в этой программе).
  • Второе поле – это имя вставляемого блока.
  • Третье поле – значение второго атрибута, эквивалентное DEVICE_LOCATION.
  • Четвертое поле – номер комнаты.
  • Последние два поля – координаты X и Y точки вставки блока.

Имена атрибутов, упомянутые выше, также присутствуют в последних двух описанных функциях и должны быть изменены соответственно при необходимости.

Понравилась статья? Поделить с друзьями:
  • List of one word for many words in english
  • Linux с файлами excel
  • List of one word expressions
  • Linux работа в excel
  • List of one word definitions