Изчертаване на обекти чрез данни от 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 Уроци по Емейл

 

Чертане , ,

  1. georgi
    | #1

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

  2. Миля
    | #2

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

  3. jhoro
    | #3

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

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

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

  4. | #4

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

  5. hristomir.s
    | #5

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

  6. Ivan Bardarov
    | #6

    Dataextract

КОМЕНТИРАЙТЕ:
  1. | #1
  2. | #2
  3. | #3