Sfat Autolisp

Actualizarea datelor de atribut din fișierele CSV

Descrierea subrutinei pentru importul și exportul de date între un desen AutoCAD și o foaie de calcul Excel.

Utilizarea comenzii de export a datelor AutoCAD. care se află în meniul Instrumente, puteți extrage datele de atribut într-un fișier de calcul tabelar Excel sau într-o tabelă situată în desen. Folosind această funcție, mulți vor găsi o idee bună să editați atributul direct în foaia de calcul, dar că atributele modificate sunt afișate în desen, trebuie să renunțați la export.







Acest articol descrie un exemplu de astfel de subrutină. Se compune din două fișiere (ATTRIBUTE-TABLE-UPDATE.LSP și ATTRIBUTE-TABLE-UPDATE.DCL), și permite exportul anumitor blocuri (în cazul nostru - senzorii de alarmă de incendiu), cu atributele și coordonatele xy într-un fișier CSV ( fișier text cu date separate prin virgula), care este potrivit pentru deschiderea în Excel. De asemenea, programul vă permite să efectuați modificări la atributele și îndepărtați obiectele inserate în desen, în cazul în care acestea nu sunt într-un fișier CSV.


Fig. 1. Propunere de alegere
Opțiuni de export / import.

Descărcați subrutina de aici. Dezarhivați și salvați fișierul în dosarul Suport din directorul în care este instalat AutoCAD. Folosind comanda Load Application din meniul Tools, selectați fișierul ATTRIBUTE-TABLE-UPDATE.LSP și încărcați-l.

Pentru a porni o subrutină, tastați ATU pe linia de comandă și apoi veți vedea un meniu contextual cu opțiunea de a selecta o opțiune. Există două opțiuni - Export (implicit) și Import (Figura 1).

Dacă selectați Export. va fi afișată caseta de dialog Fișier de rezultate. Veți fi întrebat numărul de cameră în care senzorii de alarmă vă interesează (a se vedea figura 2). Specificați numele fișierului.

Sfat Autolisp

Fig. 2. Caseta de dialog File de rezultate

Fișierul cu rezultate de export va avea o extensie CSV. și poate fi deschisă în Notepad sau Excel. Figura 3 arată un fișier deschis într-o foaie de calcul Excel. Puteți efectua modificări în coloana ADDRESS1 și puteți șterge unul sau mai multe rânduri, dacă este necesar, dacă modificările corespunzătoare vor fi efectuate în desen.


Fig. 3. foaia de calcul EXCEL.







După ce efectuați toate modificările și salvați fișierul în format CSV, puteți rula din nou subrutina noastră în AutoCAD. tastând ATU pe linia de comandă, doar selectați acum opțiunea Import din cererea inițială a programului. Apare caseta de dialog Import fișier, în care trebuie să selectați fișierul CSV care conține modificările pe care doriți să le faceți în desen.

Sfat Autolisp

Fig. 4. Caseta de dialog Import fișier.

După selectarea fișierului pentru import, se vor efectua modificări în desen și se va afișa caseta de dialog Modificări adresă (Figura 5). Faceți clic pe OK pentru a șterge caseta de dialog și a verifica desenul, dacă toate modificările sunt corecte. Rețineți că puteți afișa caseta de dialog Modificări adresă oricând în sesiunea de desen curent, introducând linia de comandă (Afișați modificările).

Sfat Autolisp

Fig. 5. Caseta de dialog Modificări adresă.

Descrierea codului subrutinei

După ce rulează funcțiile standard pentru gestionarea erorilor și gestionarea variabilelor de sistem, programul activează funcția ATT-DATA-OUT, care definește opțiunile Export și Import. și apelează funcțiile GETBLKS, PRINT-OUT și DO-IMPORT, în funcție de ceea ce ați ales - exportarea sau importul fișierului CSV.

GETBLKS creează o listă a tuturor obiectelor introduse de comanda INSERT care trebuie procesate. În exemplul nostru, am specificat rigid numele blocului "FA_DEVICE_INIT" (senzor de alarmă de incendiu). Puteți schimba numele blocului cu care lucrați în două instrucțiuni IF în codul care apare mai jos:

În exemplul nostru, al doilea și al treilea parametru de linie sunt setate pentru a permite blocurilor inserate. Conform logicii programului, acest lucru se întâmplă în cazul în care numele unității este mai mare de 13 caractere și primele 14 de caractere - FA_DEVICE_INIT. Puteți schimba acest lucru pentru ca programul să proceseze blocurile dvs. În penultima linie de cod arătat că indică faptul că trebuie să ia în considerare numai unitatea de inserție, în cazul în care punctul de inserare este mai mică de 3.000 „, în direcția axei X. Puteți schimba, de asemenea, în funcție de criteriile dumneavoastră.

Următoarea funcție, PRINT-OUT, se referă la mai multe atribute specifice - Adresa1 și DEVICE_LOCATION - le puteți schimba la blocul atributele în codul funcției de segment PRINT-OUT, care este prezentat mai jos:

Funcția DO-IMPORT deschide destinat să importe CSV fișier și determină sistemul funcției DO-ADRESA pentru a prelua fișierul, returnează o listă de puncte de inserare de blocuri și o listă de modificări care urmează să fie afișate în caseta de dialog Address modificări. Dacă doriți să personalizați această parte a codului pentru a se potrivi nevoilor dumneavoastră, ar trebui să rămânem la structura -file CSV așa cum este prezentat în Fig. 3, ținând seama de următoarele criterii:

  • Primul câmp este valoarea atributului care poate fi modificată (ADDRESS1 în acest program).
  • Al doilea câmp este numele blocului care trebuie inserat.
  • Al treilea câmp este valoarea celui de-al doilea atribut, echivalent cu DEVICE_LOCATION.
  • Al patrulea câmp este numărul camerei.
  • Ultimele două câmpuri sunt coordonatele X și Y ale punctului de inserare al blocului.

Numele de atribute menționate mai sus sunt prezente și în ultimele două funcții descrise și trebuie modificate dacă este necesar.







Articole similare

Trimiteți-le prietenilor: