Изчертаване на обекти чрез данни от Excel

Иван Цукев

excel-autocad-importНерядко получаваме или сами създаваме данни в Excel или дори обикновен текстов файл и трябва да ги импортираме в AutoCAD.  Excel е наистина мощно средство, чрез  което можем да обработваме данни в суров вид и от тях да получим сложни геометрични обекти, които би било много трудоемко да се вкарат ръчно, точка по точка в AutoCAD. Тук говорим за чист AutoCAD, а не Civil или AutoCAD с допълнителни add-ons. Темата отново е провокирана от читател на блога, който би искал да научи повече по въпроса. Един често срещан пример е вкарване на множество точки с X, Y и Z координати. Нека да усложним задачата и да кажем, че тези точки са последователни и трябва да са свързани и да образуват фигура. Това може да е сграда, надлъжен профил и т.н.

Да вкараме ръчно, да кажем 800 точки и след това да ги свържем с линия може да отнеме цял ден и гарантирам, че поне 30 от тях ще са с грешни координати. Можем да на автоматизираме задачата по два основни начина: чрез няколко манипулации в Excel или чрез Autolisp програма. Ще разгледам възможно най-лесният според мен метод, който не изисква никакви програмистки умения, а само ежедневно използвани Windows операции. Естествено и тук има много различни вариации как могат да се направят нещата.

Ако искаме да вкараме ръчно една точка с координати X=10, Y=15 и Z=500 ще изпълним командата point 10,15,500. Целта ни е да накараме AutoCAD да изпълни командата point 800 пъти, като задава съответните координати на точката. Това можем да осъществим в 3 стъпки.

1. Подготовка в Excel

import-excel-autocad-formulaНезависимо колко колони има в таблицата, трябва да добавим още една, в която да форматираме координатите на съответната точка във горепосочения вид (10,15,500). За да съединим три колони съдържащи X, Y и  Z и да им добавим разделител запетая, трябва да напишем следната формула: =A1 & „,“ & B1& „,“ & C1

Примерът е с X,Y,Z точки в колони A, B и C, започващи от първи ред, но формулата трябва да се модифицира, ако колоните са други. Така сполучваме една колона с координати на точки в AutoCAD стил. Трябва да се внимава разделителят за десетични знаци да не е запетая, а точка. Ако това не е така, трябва да се коригира в Options -> International -> Decimal Separator.

2. Копиране на данните

Избираме само координатите от новата колона в Excel и изпълзяваме командата Edit ->Copy.

import-excel-autocad-copy

3. Вмъкване в AutoCAD

Отиваме в AutoCAD и влизаме в командния ред като натискаме F2. изпълняваме командата MULTIPLE, след това командата POINT и накрая с десния бутон на мишката от менюто избираме PASTE. Готово! всички точки са вкарани за секунда с X,Y,Z координати. При това абсолютно безпогрешно.

import-excel-autocad-command-line-point

Други приложения

Принципът е същият, когато искаме да съединим точките с линия. Просто избираме командата LINE и след това PASTE на точките (този път не е необходимо MULTIPLE). AutoCAD свързва точките с линия. На този принцип могат да се вкарват всякакви по-сложни обекти като например: кръг, елипса, полигони, правоъгълници, 3D обекти. Само трябва формулата в Excel трябва да се модифицира, така че да предоставя на AutoCAD необходимите геометрични данни. Например за кръг, може да му подадете център на окръжността и радиус. При повече изобретателност, с горният метод могат да се направят и доста сложни чертежи, например цели надлъжни профили, генериране на етажни нива и 3D фигури. Естествено, колкото по-сложни стават AutoCAD операциите, толкова повече расте необходимостта задачата да се реши чрез Autolisp програма.

 

 

 

Абонирай се да получаваш AutoCAD Уроци по Емейл

 

Чертане , ,

Коментари през Facebook:

  1. georgi
    24. септември 2010, 00:04 | #1

    Като цяло това ми се струва доста „дървен“ метод за вкарване на точки. Понеже съм геодезист и ежедневно вкарвам точки от всякакви източници. Незнам какви са възможностите на чистия AutoCAD , аз използвам Civil Design. Но този метод ми се струва неудачен. По-добре е да се потърси някой програмка на Autolisp или най-малкото да се направи скрипт файл.
    Поздрави за статиите, с интерес следя какво излиза 🙂

  2. Миля
    23. февруари 2011, 12:09 | #2

    а аз имам обратния проблем – искам да вкарам координатите на точки от чертежа в табличен вид с чистия AutoCAD или ако има подходящ Autolisp за целта.някой може ли да помогне?

  3. jhoro
    22. април 2011, 09:09 | #3

    Съгласен съм, че този метод е твърде „дървен“ – ако приемем, че това е някакво решение. Но ако разгледаме горния пример като тема за размисъл – вече всеки може да си разработи свой вариант.
    За геодезистите ми е ясно, че тоталната станция им дава много възможности.
    Но……… по същество.
    Примера показва как да си импортираш координатите на множество точки. Стойностите са получени от някаква зависимост . формула или каквото е там. След като си ги импортне всеки сам трябва да реши за какво ще си ги ползва.

    При обратния вариант началото е следното:
    В таблицата на свойствата на всеки обект в Аутокад има поле с координати – x, y и z. Когато маркираш един или повече обекта и дадеш командата „list“ в резултат ще получиш списък с всички свойства на обекта/обектите, включително и техните координати.
    Тук вече става трудно
    Ако обекта е „point“ – точка или „block“-блок има една тройка координати – на „point“-а или на точката на вмъкване на блока.
    Но ако обекта е линия, полилиния, дъга и т.н. вече ще има няколко (2, 3 и даже повече) координати.

    Така, че може и да има нещо готово, но по-добре вземи си книжката за AutoLisp и я прочети. Не е голяма, не е толкова трудно и ще се направиш каквото ти трябва. Самия аз съм правил доста неща на Лисп, но беше преди 3 – 4 години и съм позабравил повечето.

  4. 28. май 2011, 18:23 | #4

    За @georgi
    Може би е интересен за теб rapid DXF 4.0
    Конвертира всякакви данни към AUTOCAD

  5. hristomir.s
    8. декември 2012, 15:18 | #5

    От къде мога да смъкна тази програма Rapid DXF ?

  6. Ivan Bardarov
    18. март 2018, 15:42 | #6

    Dataextract

КОМЕНТИРАЙТЕ:
  1. 17. ноември 2009, 11:20 | #1
  2. 17. ноември 2009, 15:10 | #2
  3. 17. август 2010, 09:49 | #3

 

Този сайт използва "бисквитки". Научи повече тук.

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close