[CAD-MAP-19]: Membuat tabel Microsoft Access dari Hasil Topology Analysis di AutoCAD Map (Lanjutan-2: Menjalankan Autolisp)

Reference : [CAD-MAP-018]: Aplikasi Topology Analysis di AutoCAD Map untuk Mengambil Nilai Text dalam Polygon (disertai dengan tahapan pembuatan Autolisp)
Platform : Autocad Map
Download File :  

Tulisan sebelumnya di [CAD-MAP-018]: Aplikasi Topology Analysis di AutoCAD Map untuk Mengambil Nilai Text dalam Polygon (disertai dengan tahapan pembuatan Autolisp) telah diuraikan langkah-langkah untuk membuat topology analysis melalui perintah / tools yang ada di autocadmap. Pada langkah-langkah tersebut juga disertakan tahapan untuk membuat program autolispnya. Autolisp di bawah hasil salinan code autolisp yang telah di post tersebut:

(defun c:atop ()
  (setq cmddia_old (getvar "cmddia"));simpan setting cmddia sebelumnya
 
  (setvar "cmddia" 0);set kotak dialog off
  ;setting list object data di bawah bisa dirubah sesuai data yang ada

  (setq list_od (list "OD_NIB" "OD_BERKAS" "OD_NAMA"));list object data yang akan dibuat
  (setq list_fld (list "NIB" "BERKAS" "NAMA"));list nama field atau header
  (setq list_type (list "C" "C" "C")); list object type dari list object di atas
  (setq list_layer (list "080201" "tn_lai_berkas" "tn_lai"))

  (setq i -1);setting index untuk ambil
  (foreach od list_od
    (setq i (1+ i))
    ;;1. Membuat object data tabel
    (command  "ADEDEFDATA" "N" od (nth i list_fld) "" (nth i list_type) "" "N" "X")
   
    ;;2. linked object data table ke string atau text.
    (setq filter (list (cons 0 "TEXT") (cons 8 (nth i list_layer))));set filter
    (command "ADEGENLINK" "O" "O" od "Y" "S" (ssget "X" filter) "")
   
    );end foreach

    ;;3. Proses Overlay

  (setq tp_node1 "BERKAS" tp_node2 "NAMA" tp_poly "Batas_Persil")
  (setq od_res1 "OD_BERKAS_PRSL" od_res2 "OD_NAMA_PRSL")
  (setq tp_res1 "TP_BERKAS" tp_res2 "TP_NAMA")
  (setq od_node1 (nth 1 list_od))
  (setq od_node2 (nth 2 list_od))
  (setq od_poly (nth 0 list_od))

  ;;overlay pertama
  (command "MAPOVERLAY" tp_node1 "o" od_node1 "y" "")
  (command tp_poly "o" od_poly "y" "")
  (command "i" tp_res1 "" "0" od_res1 "y" "")

  ;;overlay kedua
  (command "MAPOVERLAY" tp_node2 "o" od_node2 "y" "")
  (command tp_poly "o" od_poly "y" "")
  (command "i" tp_res2 "" "0" od_res2 "y" "")

  (setvar "cmddia" cmddia_old)
  );end defun

Cara menjalankan kode di atas:

1.  Copy code di atas ke notedpad kemudian simpan file dengan extensi .lsp misal diberi nama analisa_topologi.lsp.

2. Buka file autocad yang akan diproses. Karena autolisp tersebut dikembangkan dari file yang sudah ada maka jika akan menggunakan fila yang lain maka syarat-syarat berikut harus dipenenuhi dalam file tersebut harus sesuai dengan perintah / fungsi yang ada di autolisp yaitu:

Fungsi dalam Autolisp Data yang harus ada

(setq list_layer (list "080201" "tn_lai_berkas" "tn_lai"))

Object text NIB harus terletak di layer: 080201
Object text BERKAS harus terletak di layer: tn_lai 
Object text NAMA harus terletak di layer: tn_lai_berkas

(setq tp_node1 "BERKAS" tp_node2 "NAMA" tp_poly "Batas_Persil")

Node Topology dari object text BERKAS bernama : BERKAS
Node Topology dari object text NAMA bernama : NAMA
Polygon Topology dari batas persil dengan centoid object NIB bernama Batas_Persil

Jika nama layer dan nama topology berbeda dengan di atas, code lisp pada file analisa_topologi.lsp bisa disesuaikan dengan file yang akan diproses dengan merubah di bagian statement di atas.

3. Setelah file dibuka, pastikan bahwa topology BERKAS, NAMA dan Batas_Persil telah di-Load Topology dan juga telah ter-connect ke ODBC database.

image

4. Untuk memastikan bahwa topology siap diproses, setelah di load topology, lakukan re-create di masing-masing topology.

image

4. Load applikasi atau program autolisp dengan mengetik di command:appload

5. Pilih file analisa_topologi.lsp kemudian click [Load]. Jika ada pesan, File Loading – Security Concern, Check pilihan [Always load this application] kemudian click [Load]

image

6. Ketik pada command:atop

7. Pada saat autolisp dijalankan akan ditampilakn urutan perintah proses overlay.

Command: ATOP
ADEDEFDATA
Field 1:
Command: ADEGENLINK
Linkage type: [Blocks/textObjects/encloseDBlocks/enclosedText]<enclosedText>: O
Create [Objectdata/ASElinks]<ASElinks>: O
Object data table (? for list): OD_NIB
Use Insertion Point as Label Point: [Yes/No] <N>:Y
Text objects to generate from: [Select/All]<All>: S
Select objects:   22 found

Select objects:
22 object(s) to process.
Processing 22…done. 22 links created.
Command: ADEDEFDATA
Field 1:
Command: ADEGENLINK
Linkage type: [Blocks/textObjects/encloseDBlocks/enclosedText]<enclosedText>: O
Create [Objectdata/ASElinks]<ASElinks>: O
Object data table (? for list): OD_BERKAS
Use Insertion Point as Label Point: [Yes/No] <N>:Y
Text objects to generate from: [Select/All]<All>: S
Select objects:   22 found

Select objects:
22 object(s) to process.
Processing 22…done. 22 links created.
Command: ADEDEFDATA
Field 1:
Command: ADEGENLINK
Linkage type: [Blocks/textObjects/encloseDBlocks/enclosedText]<enclosedText>: O
Create [Objectdata/ASElinks]<ASElinks>: O
Object data table (? for list): OD_NAMA
Use Insertion Point as Label Point: [Yes/No] <N>:Y
Text objects to generate from: [Select/All]<All>: S
Select objects:   35 found

Select objects:
35 object(s) to process.
Processing 35…done. 35 links created.
Command: MAPOVERLAY
Enter source topology name (? for list) <nama>: BERKAS
Enter type of source data (Object-data/Sql-data): o
Enter table name (? for list) <>: OD_BERKAS
Select all available fields? (Yes/No) <Y>: y
Enter type of source data (Object-data/Sql-data):
Enter overlay topology name (? for list) <Batas_Persil>: Batas_Persil
Enter type of overlay data (Object-data/Sql-data): o
Enter table name (? for list) <>: OD_NIB
Select all available fields? (Yes/No) <Y>: y
Enter type of overlay data (Object-data/Sql-data):
Enter overlay operation (Intersect/Union/iDentity/Erase/Clip/Paste) <I>: i
Enter result topology name: TP_BERKAS
Enter result topology description:

Enter target layer (? for list) <080201>: 0

Enter result data table (? for list) <>: OD_BERKAS_PRSL
No such data table. Create table? (Yes/No) <Y>: y
Enter table description:
Creating TP_BERKAS topology by Overlay…
Writing topology information to the drawing…

Overlay successfully created.
Command: MAPOVERLAY
Enter source topology name (? for list) <berkas>: NAMA
Enter type of source data (Object-data/Sql-data): o
Enter table name (? for list) <>: OD_NAMA
Select all available fields? (Yes/No) <Y>: y
Enter type of source data (Object-data/Sql-data):
Enter overlay topology name (? for list) <Batas_Persil>: Batas_Persil
Enter type of overlay data (Object-data/Sql-data): o
Enter table name (? for list) <>: OD_NIB
Select all available fields? (Yes/No) <Y>: y
Enter type of overlay data (Object-data/Sql-data):
Enter overlay operation (Intersect/Union/iDentity/Erase/Clip/Paste) <I>: i
Enter result topology name: TP_NAMA
Enter result topology description:

Enter target layer (? for list) <0>: 0

Enter result data table (? for list) <>: OD_NAMA_PRSL
No such data table. Create table? (Yes/No) <Y>: y
Enter table description:
Creating TP_NAMA topology by Overlay…
Writing topology information to the drawing…

Overlay successfully created.
Command: 0

8. Proses selanjutnya adalah Menyimpan object data OD_NAMA_PRSL, OD_BERKAS_PRSL dan ke Microsoft access seperti tahapan di [CAD-MAP-018]: Aplikasi Topology Analysis di AutoCAD Map untuk Mengambil Nilai Text dalam Polygon (disertai dengan tahapan pembuatan Autolisp) dimulai dari tahap ke E. Menyimpan Object Data ke Microsoft Access.

==========

Silakan dicoba dan terimakasih telah berkunjung di blog saya

Advertisements

[CAD-MAP-14]:Konversi Titik Format ASCII (*.csv) ke ESRI Shape File (*.shp) dengan AutocadMap atau Civil3D

Reference :  
Platform : min Autocad map 2009 atau civil 3D 2009
Lokasi File : sample data csv

Pada posting [CAD-LIS-01]: Menulis Text dari List Koordinat telah dijelaskan langkah-langkah plotting koordinat dalam format *.csv (comma delimeted) ke file autocad, sedangkan dalam [XLS-MAP-03]: Plotting List Koordinat dari Excel ke AutoCAD dijelaskan cara plotting koordinat dari table excel ke autocad dengan menggunakan visual basic application for excel (macro). Plotting titik dari excel ke autocad juga bisa dilakukan melalui [Data Connection] seperti diuraikan di posting [XLS-MAP-05]: Plotting Koordinat Excel ke Civil 3D.

Pada posting kali ini diperkenalkan cara lainnya sekaligus bagaimana cara meng-ekspor titik-titik tersebut ke *.shp menggunakan autocad map. atau program autodesk yang sudah ada add-on map seperti land development 2009 dan civil 3D 2009. Karena saat ini program yang terinstall di komputerr saya adalah civil 3d 2011, maka penjelasan dan snap shot gambar akan mengacu ke program civil 3d 2011.

Berikut langkah-langkah yang dimaksud:

1. Buat file baru dengan satuan metric atau pilih template dengan satuan metric. Contoh saya menggunakan template map2d.dwt image
2. Ketikkan Command: mapimport
2.1. Pilih files of type : ASCII Point File (*.txt, *.csv, *.asc, *.nez)
2.2. Pilih lokasi file *.csv yang akan diplot titiknya. Format titik yang disimpan dalam *.csv: pointNumber, East, North, Elevation, Description
image
3. Lakukan setting import point:
3.1. Select formatting : PENZD
3.2. Z-Unit: Meter
3.3. Pilih code UTM
image
4. Contoh hasill import.
Jika hasilnya seperti ini, rubah scale-x, scale-y dan scale-z di property blocknya:
4.1. pilih semua titik (select all)
4.2. Tekan CTRL+1 untuk menampilkan propertiesnya.
4.3. Masukkan nilai 1 atau yang sesuai dengan tampilan di Scale X, Scale Y dan Scale Z. Contoh kali ini saya masukkan nilai 10
image
5. Hasil setelah dirubah Scale X, Y & Z image
6. Mengeksport ke *.shp
6.1. Ketikkan Command: mapexport
6.2. Masukkan nama shape file, misal: point3D
6.3. Pilih Files of type : ESRI Shapefile (*.shp)
6.4. Pilih lokasi file (folder)

image
7. Setting export shp
7.1. Pilih Object Type : Point
7.2. Select Object to Export: Select manually
7.3. click icon filter image
7.4. Apply to: Entire Drawings
7.5. Object Type: Block Reference
7.6. Properties: Name
7.7. Operator: = Equals
7.8. Value: Map_Survey_Point

langkah 7.2 s/d 7.8 adalah memilih semua block attribute di gambar yang bernama Map_Survey_Point. Nama ini harus sama dengan nama block saat import atau di langkah #3

image
8. Pilih data yang akan diexport ke *.shp
8.1. click tab [Data]
8.2. click [Select attributes…]
8.3. click [Block Attributes]
8.4. Pilih block : Map_Survey_Point
8.5. click [OK}
image
9. Tampilan setelah setting attributes
9.1. Click [OK]
image
10. Folder yang berisi files hasil export ke *.shp image

Silahkan dicoba..