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.

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

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]

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
Like this:
Like Loading...
Pagi Pak. Perkenalkan nama saya Kading.
Mau bertanya Pak. Bagaimana caranya saya untuk meng quick select dua angka dibelakang koma atau tiga angka dibelakang koma. sedangkan angka-angka tersebut bercampur dalam bentuk teks yang jumlahnya ratusan. Bagaimana bentuk autolisp nya Pak.
terima kasih Pak
contoh teks yang dirubah seperti apa? dan yang diinginkan seperti apa?