ПредишенСледващото

С помощта на командата на AutoCAD за експортиране на данните. който се намира в менюто Инструменти, можете да премахнете данните на атрибутите в електронна таблица Excel, или маса се поставя в чертежа. Използването на тази възможност, много ще се намери добра идея, за да редактирате атрибут директно в електронната таблица, но това се промени атрибути са показани на чертежа трябва да се направи обратен износ.

Тази статия описва пример на такава рутина. Тя се състои от два файла (признак на таблицата UPDATE.LSP и атрибутите на маса UPDATE.DCL). и позволява на износа на някои блокове (в нашия случай - пожароизвестителни датчици) с техните атрибути и X-Y координатите във файл CSV (текстов файл с данни, разделени със запетая), който е подходящ за откриване на Excel. Програмата също така ви позволява да правите промени в атрибутите и премахване на вкараните обекти в чертежа, ако те не са в CSV-файл.

Фиг. 1. оферта изборът на износ / внос опция.

Изтеглете рутината тук. Разархивирайте и запишете файла в папка, която е в указателя за поддръжка, където сте инсталирали AutoCAD. Използване на команда Load Application от менюто Инструменти, изберете атрибутите на маса UPDATE.LSP файла и да го качите.

За да стартирате подпрограма, въведете ATU в командния ред, а след това ще видите контекстното меню с предложението да бъде избрана опция. Има два варианта - за износ (по подразбиране) и внос (Фигура 1.).

Ако изберете Export. Диалогов прозорец Резултати файла, ще бъдете помолени за номера на стаята, в която ние се интересуваме от сензорите за сигнализация (фиг. 2). Посочете името на файла.

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

Фиг. диалоговия прозорец Файл 2. Резултати

Файл с резултатите от износ ще бъде разширение CSV, и тя може да бъде открита в Notepad или Excel. Показан на фигура 3. Файлът е открит през електронна таблица на Excel. Можете да правите промени в address1 колона, както и премахване, ако е необходимо, един или повече редове, ако трябва да се направи необходимите промени, и в чертежа.

Фиг. 3. електронни таблици Excel.

След като направите промените и да спаси мед челядинка в CSV-формат на файла, можете да стартирате отново нашата рутина в AutoCAD. ATU напишете в командния ред, но този път изберете опцията Import в първоначалното искане за програмата. Внос на файла ще се появи диалогов прозорец, в който ще трябва да изберете CSV файл, съдържащ промените, които искат да направят рисунка.

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

Фиг. 4. В диалоговия прозорец Внос по делото.

След като е избран, за да бъдат внесени файла, промените ще бъдат направени в чертежа и показване на промените в адреса диалогов прозорец (фиг. 5). Щракнете върху OK, за да се отстранят диалоговия прозорец и проверка на чертежа, дали всички промени са направени правилно. Имайте предвид, че можете да покажете на промените в адреса диалогов прозорец по всяко време в текущата сесия на рисунка, като напишете в командния ред (Показване на промените).

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

Фиг. 5. диалоговия прозорец Адрес Променя.


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

След като се започне моите стандартни функции, за да се справят с грешки и променливи контролни системи, програмата се активира функцията за ATT-DATA-OUT, който определя възможността за внос и износ, и причинява GETBLKS функция, отпечатване и не-ВНОС, в зависимост от това, което Ние избираме - износ или внос CSV файл.

GETBLKS създава списък на всички поставени предмети Insert команда, за да бъде обработена. В нашия пример, ние кодиран името на блока "FA_DEVICE_INIT" (пожароизвестяване). Можете да го промените на името на блока, към който искате да се работи в две от изявлението АКО в кода, който е показан по-долу:

(Ако (и (= (VLA-да-HasAttributes blkobj): VLAX-вярно)
(> (Strlen bobjname) 13)
(= (SUBSTR върху bobjname 14 Януари) "FA_DEVICE_INIT")
); _ Край на и
(progn
(Setq inspt (VLA-да-InsertionPoint blkobj))
(Setq IPT (VLAX-safearray-> списък (VLAX-вариант-стойност inspt)))
(Setq ATTRIBS (VLA-getAttributes blkobj))
(Setq sarr (VLAX-вариант стойност ATTRIBS))
(Setq бр (VLAX-SAFEARRAY-да-ф-обвързани sarr 1))
(Ако (и (> NUM 0)
(<(car ipt) 3000.0)
)

В нашия пример, втора и трета параметри покупки са настроени да се даде възможност на вмъкват блокове. Според логиката на програмата, това се случва, ако името на устройството е повече от 13 знака и първите 14 герои - FA_DEVICE_INIT. Можете да я промените в програмата за обработка на вашите блокове. В предпоследния ред на кода показан това означава, че трябва да се помисли само единица вмъкване, където точката на вмъкване е по-малко от 3.000 "в посока на X. ос Можете да го промените според вашите критерии.

На следващата функция, отпечатване, се отнася до няколко специфични качества - address1 и DEVICE_LOCATION - можете да ги промените, за да си блок атрибути във функцията код сегмент разпечатка, която е показана по-долу:

(Напишете линия "address1, име, DEVICE_LOCATION, етаж, X, Y" f1)
(Повторение (дължина blklst)
(Setq LST (тото (setq I (1+ и)) blklst))
(Setq ул (strcat (CADR (доц "Address1" (тото 1 LST)))
","
(Car LST)
","
(CADR (доц "DEVICE_LOCATION" (тото 1 LST)))
","
(Itoa етаж)
","
(RTOS (кола (последен LST)))
","
(RTOS (CADR (последно ЗУТ)))
); _ Край на strcat
); _ Край на setq
(Write Онлайн ул f1)
); _ Край на повторение

DO-ВНОС функция отваря за цел да импортирате CSV файл и причинява функция на системата за DO-адрес, за да изтеглите файла, го връща списък с точки на вмъкване единици, както и списък на промените, за да бъдат показани в промените в адреса диалогов прозорец. Ако искате да персонализирате тази част на кода, за да отговарят на вашите нужди, вие трябва да се придържа към структурата на CSV файл, както е показано на фиг. 3, със следните критерии:

Първото поле - това е стойност на атрибут, който може да се променя (address1 в тази програма).
Второто поле - е името на приставката е единица.
Третото поле - стойността на втория атрибут еквивалент DEVICE_LOCATION.
Четвъртото поле - номера на стаята.
Последните две полета - координатите х и точката блок вмъкване Y.

Умение имена, споменати по-горе, също са налични в последните две описани функциите и трябва да бъдат съответно променени, ако е необходимо.

Сродни връзки

Подкрепете проекта - споделете линка, благодаря!