Menampilkan postingan yang diurutkan menurut relevansi untuk kueri Autocad. Urutkan menurut tanggal Tampilkan semua postingan
Menampilkan postingan yang diurutkan menurut relevansi untuk kueri Autocad. Urutkan menurut tanggal Tampilkan semua postingan

Versi - versi AutoCAD

Nama AutoCAD Tahun Keluaran Kode Nama Keterangan
AutoCAD 1.0 Desember , 1982   Keluaran ke 1
AutoCAD 1.2 April , 1983   Keluaran ke 2
AutoCAD 1.3 Agustus , 1983   Keluaran ke 3
AutoCAD 1.4 Oktober , 1983   Keluaran ke 4
AutoCAD 2.0 Oktober , 1984   Keluaran ke 5
AutoCAD 2.1 Mei , 1985   Keluaran ke 6
AutoCAD 2.5 Juni , 1986   Keluaran ke 7
AutoCAD 2.6 April , 1987   Keluaran ke 8
AutoCAD R9 September 1987 White Album Keluaran ke 9
AutoCAD R10 Oktober , 1988   Keluaran ke 10
AutoCAD R11 Oktober , 1990   Keluaran ke 11
AutoCAD R12 Juni , 1992   Keluaran ke 12
AutoCAD R13 November 1994   Keluaran ke 13
AutoCAD R14 Februari , 1997 Sedona dan PInetop untuk 14.01 Keluaran ke 14
AutoCAD 2000 Maret , 1999 Tahoe Keluaran ke 15
AutoCAD 2000i Juli , 2000 Banff Keluaran ke 16
AutoCAD 2002 Juni , 2001 Kirkland Keluaran ke 17
AutoCAD 2004 Maret , 2003 Reddeer Keluaran ke 18
AutoCAD 2005 Maret , 2004 Neo Keluaran ke 19
AutoCAD 2006 Maret , 2005 Rio Keluaran ke 20
AutoCAD 2007 Maret , 2006 Postrio Keluaran ke 21
AutoCAD 2008 Maret , 2007 Spago Keluaran ke 22
AutoCAD 2009 Maret , 2008 Raptor Keluaran ke 23
AutoCAD 2010 Maret , 2009 Gator Keluaran ke 24
AutoCAD 2011 Maret , 2010 Hammer Keluaran ke 25
AutoCAD 2012 Maret , 2011 Ironman Keluaran ke 26
AutoCAD 2013 Maret , 2012 Jaws Keluaran ke 27
AutoCAD 2014 Maret , 2013 Keystone Keluaran ke 28
AutoCAD 2015 Maret , 2014 Longbow Keluaran ke 29
       
AutoCAD for Mac Releases:    
AutoCAD for Mac Juni , 1992    
AutoCAD for Mac R13    
AutoCAD 2011 for Mac Oktober , 2010 SledgeHammer  
AutoCAD 2012 for Mac Agustus , 2011 Iron Maiden  
AutoCAD LT 2012 for Mac Agustus , 2011 Ferris  
AutoCAD LT 2013 for Mac Agustus , 2012    
AutoCAD 2013 for Mac  Maret , 2012 Jaws  
AutoCAD LT 2014 for Mac  Oktober , 2012    
AutoCAD 2014 for Mac  Oktober , 2012 Sandstone  
       
AutoCAD WS      
AutoCAD WS / AutoCAD WS Mobile September , 2010    
AutoCAD WS for Mac Agustus , 2011    

Menyalin / mengcopy tabel MTO dari AutoCAD ke Excel

      Tulisan saya kali ini adalah pengalaman diri saya yang pernah menggunakan software Autocad bukan mengenai 3D modeling ataupun PDMS, untuk menggambar gambar yang harus mencantumkan tabel Material Take Off ( MTO ) untuk mempermudah para pekerja lapangan melihat / menggunakan material karena sudah tercantum dalam gambar. Dalam hal ini tabel MTO (seperti contoh gambar dibawah ) sudah dibuat di AutoCAD tetapi tidak memakai menu Table AutoCAD yang bisa terkoneksi dengan file Excel.
Menyalin / mengcopy tabel MTO di AutoCAD ke Excel      Dan saya diharuskan menyalin semua tabel MTO dari dalam gambar Autocad ke file Excel untuk membantu perhitungan semua material. Pengalaman saya yang sedikit mengenai Autocad ini saya tuangkan dalam tulisan yang mungkin bisa dikatakan sebuah tips atau trik engineering dan semoga dapat membantu para drafter pengguna AutoCAD yaitu  Menyalin / mengcopy tabel MTO dari AutoCAD ke Excel.

Baca juga Mengapa Harus Belajar Software Aveva PDMS ?

      Bagi para drafter yang jobs nya menggambar menggunakan software AutoCAD, dan telah terlanjur membuat tabel Material Take Off ( MTO ) atau tabel Bill Of Material ( BOM ) di AutoCAD dalam bentuk Text ataupun MText dan ingin menyalin ke file Excel, luangkan waktu sejenakuntuk membaca tulisan ini, semoga dapat membantu menyelesaikan pekerjaan lebih cepat.

     Dibawah ini adalah contoh gambar tabel Material Take Off  ( MTO ) yang telah dibuat di AutoCAD yang akan kita salin ke Excel :

Menyalin / mengcopy tabel MTO di AutoCAD ke Excel

Hasil yang diharapkan adalah Material Take Off ( MTO ) / tabel dapat disalin kedalam software excel 2010, seperti gambar contoh dibawah ini :

Menyalin / mengcopy tabel MTO di AutoCAD ke Excel

Berikut adalah  step - step menyalin MTO dari AutoCAD ke software Excel :

1. Copy kode - kode / script AutoLisp di tulisan paling bawah di halaman ini, dan simpan dalam bentuk Lsp file dan drag and drop kedalam AutoCAD seperti tulisan saya yang sebelumnya, Mengganti perintah / command pada Autocad : Menengah  pada poin 1, 2, 3 dan 4.

 2. Jika tabel Material Take Off ( MTO ) masih terdiri dalam bentuk object Mtext dan Text atau block, maka Explode terlebih dahulu sehingga menjadi bentuk Text semua.

3. Jika dalam suatu cell / value / tulisan dalam tabel MTO terdapat spasi, ganti semua spasi dengan
 karakter @ . Untuk mempermudah mengganti spasi gunakan menu Find ( ketik Command Autocad Find ). Karena ini adalah syarat agar berhasil untuk copy text AutoCAD ke Excel.

4. Jika dalam suatu cell / value / tulisan dalam tabel MTO tidak terdapat isi, harus diisi dengan tanda - . Dan ini merupakan syarat agar cara dalam tulisan  ini berhasil seperti yang diharapkan.

Menyalin / mengcopy tabel MTO dari AutoCAD ke Excel
Contoh sederhana AutoCAD ke Excel

5. Ketik perintah command Autocad : HT2M   -  Horizontal Convert from Text to MText. 
Pilih / select kata pertama dibaris pertama kemudian pilih semua kata dibaris pertama, tekan enter atau spasi. 

Menyalin / mengcopy tabel MTO dari AutoCAD ke Excel

Lakukan cara ini untuk baris - baris berikutnya dengan diselingi enter atau spasi, sehingga menjadi satu tipe MText, satu baris satu Mtext.

Menyalin / mengcopy tabel MTO dari AutoCAD ke Excel

6.  Explode semua baris yang sudah di konversi menjadi satu MText satu baris sehingga semua menjadi Text.

7.  Ketik perintah command Autocad : VT2M   -  Vertical Convert from Text to MText.
Pilih / select baris pertama kemudian pilih semua baris, tekan enter atau spasi, sehingga menjadi satu baris saja yang bertipe MText.

Menyalin / mengcopy tabel MTO dari AutoCAD ke Excel

8. Copy semua tulisan didalam MText.

9. Buka program Microsoft Office Excel dan tempel / paste tulisan hasil copy dari  AutoCAD ke Excel.

Untuk langkah berikutnya silahkan melanjutkan untuk baca tulisan, Memisahkan text berdasarkan karakter pemisah dengan software Excel 2010

Jika ada cara lain yang lebih mudah dan pembaca ketahui mohon  dibagi pengetahuannya bagi pembaca yang lainnya dan penulis dengan memberi masukkan atau di kolom komentar.

Berikut kode - kode / script AutoLisp menggubah mengkonversi Text menjadi MText sehingga membantu:

(defun col2str (inp)
  (cond
    ((= inp nil)(setq ret "BYLAYER"))
    ((= inp 256)(setq ret "BYLAYER"))
    ((= inp 0)(setq ret "BYBLOCK"))
    ((and (> inp 0)(< inp 255))(setq ret (itoa inp)))
    (t nil)
  )
)

(defun savprop ()
  (setq clayer (getvar "CLAYER"))
  (setq cecolor (getvar "CECOLOR"))
  (setvar "CECOLOR" "BYLAYER")
  (setq celtype (getvar "CELTYPE"))
  (setvar "CELTYPE" "BYLAYER")
  (setq thickness (getvar "THICKNESS"))
  (setvar "THICKNESS" 0)
  (if (>= (atoi (getvar "ACADVER")) 13)
    (progn
      (setq celtscale (getvar "CELTSCALE"))
      (setvar "CELTSCALE" 1.0)
    )
  )
)

(defun resprop ()
  (if (>= (atoi (getvar "ACADVER")) 13)
    (setvar "CELTSCALE" celtscale)
  )
  (setvar "THICKNESS" thickness)
  (setvar "CELTYPE" celtype)
  (setvar "CECOLOR" cecolor)
  (setvar "CLAYER" clayer)
)

(defun textrect (tent / ang sinrot cosrot t1 t2 p1 p2 p3 p4)
  (setq p0 (cdr (assoc 10 tent))
    ang (cdr (assoc 50 tent))
    sinrot (sin ang)
    cosrot (cos ang)
    t1 (car (textbox tent))
    t2 (cadr (textbox tent))
    p1 (list (+ (car p0)
       (- (* (car t1) cosrot) (* (cadr t1) sinrot)))
       (+ (cadr p0)
       (+ (* (car t1) sinrot) (* (cadr t1) cosrot))))
    p2 (list (+ (car p0)
       (- (* (car t2) cosrot) (* (cadr t1) sinrot)))
       (+ (cadr p0)
       (+ (* (car t2) sinrot) (* (cadr t1) cosrot))))
    p3 (list (+ (car p0)
       (- (* (car t2) cosrot) (* (cadr t2) sinrot)))
       (+ (cadr p0)
       (+ (* (car t2) sinrot) (* (cadr t2) cosrot))))
    p4 (list (+ (car p0)
       (- (* (car t1) cosrot) (* (cadr t2) sinrot)))
       (+ (cadr p0)
       (+ (* (car t1) sinrot) (* (cadr t2) cosrot))))
  )
  (list p1 p2 p3 p4)
)

(defun C:HT2M ( / mwid dset ibrk bitm bent sset rect mlay mcol mlst
                      bins bang tang nins num ndis chnd cent nhnd nstr
                      str pt1 pt2 pt3 dis dvx dvy dvz new)
(while
  (if (< (atoi (getvar "ACADVER")) 13)
    (alert "This Function Requires\nRelease 13 or Higher")
    (progn
      (setq cmdecho (getvar "CMDECHO"))
      (setvar "CMDECHO" 0)
      (command "_.UNDO" "_G")
      (setq mwid 0.0)
      (setq dset (ssadd))
      ;
      ;(initget "Y N")
      ;(setq tmp (getkword "\nDS> Include Line Breaks <Y>/N: "))
      ;(if (/= tmp "N")(setq ibrk "Y")(setq ibrk "N"))
      (setq ibrk "N")
      ;
      (setq bitm (car (entsel "\nDS> Pick Base String: ")))
      (setq bent (entget bitm))
      (setq rect (textrect bent))
      (setq chk (distance (car rect)(cadr rect)))
      (if (> chk mwid)(setq mwid chk))
      ;
      (if (= "TEXT" (cdr (assoc 0 bent)))
        (progn
          (redraw bitm 3)
          (princ "\nDS> Select Remaining Text: ")
          (setq sset (ssget '((0 . "TEXT"))))
          (if sset
            (progn
              (setq rect (textrect bent))
              (setq orig rect)
              (setq mlay (cdr (assoc 8 bent)))
              (setq mcol (cdr (assoc 62 bent)))
              (setq mlst (list (cdr (assoc 1 bent))))
              ;
              (if (> (cdr (assoc 72 bent)) 0)
                (setq bins (cdr (assoc 11 bent)))
                (setq bins (cdr (assoc 10 bent)))
              )
              (setq bang (cdr (assoc 50 bent)))
              (setq tang (- bang (/ PI 2)))
              (setq nins bins)
              (ssdel bitm sset)
              (while (> (sslength sset) 0)
                (setq num (sslength sset) itm 0)
                (setq ndis 99999999.9)
                (while (< itm num)
                  (setq chnd (ssname sset itm))
                  (setq cent (entget chnd))
                  (if (> (cdr (assoc 72 cent)) 0)
                    (setq cins (cdr (assoc 11 cent)))
                    (setq cins (cdr (assoc 10 cent)))
                  )
                  (setq cdis (distance bins cins))
                  (if (< cdis ndis)
                    (setq ndis cdis nhnd chnd nent cent)
                  )
                  (setq itm (1+ itm))
                )
                (setq dset (ssadd nhnd dset))
                (ssdel nhnd sset)
                ;
                (setq rect (textrect nent))
                (setq chk (distance (car rect)(cadr rect)))
                (if (> chk mwid)(setq mwid chk))
                ;
                (setq nstr (cdr (assoc 1 nent)))
                (setq mlst (append mlst (list nstr)))
              )
              ;
              (entdel bitm)
              (setq num (sslength dset) itm 0)
              (while (< itm num)
                (setq hnd (ssname dset itm))
                (entdel hnd)
                (setq itm (1+ itm))
              )
              ;
              (savprop)
              (setvar "CLAYER" mlay)
              (if (/= mcol nil)
                (setvar "CECOLOR" (col2str mcol))
              )
              (setq mwid (+ mwid (* mwid 0.025)))
              (setq pt1 (car orig))
              (setq pt2 (cadr orig))
              (setq dis (distance pt1 pt2))
              (setq dvx (/ (- (car pt2)(car pt1)) dis))
              (setq dvy (/ (- (cadr pt2)(cadr pt1)) dis))
              (setq pt3 (list dvx dvy 0.0))
              (setq nins (list (car (cadddr orig))
                         (cadr (cadddr orig))
                         (nth 2 (cdr (assoc 10 bent)))))
              ;
              (setq new '((0 . "MTEXT")(100 . "AcDbEntity")(100 . "AcDbMText")))
              (setq new (append new (list (assoc 7 bent))))
              (setq new (append new (list (assoc 8 bent))))
              (setq new (append new (list (cons 10 nins))))
              (setq new (append new (list (cons 11 pt3))))
              (foreach lin mlst
                (if (= ibrk "Y")
                  (if (/= lin (last mlst))
                    (setq lin (strcat lin "\\P"))
                  )
                  (setq lin (strcat lin "^"))
                )
                (setq new (append new (list (cons 1 lin))))
              )
              (setq new (append new (list (assoc 40 bent))))
              (setq new (append new (list (cons 41 mwid))))
              (setq new (append new (list (cons 71 1))))
              (setq new (append new (list (cons 72 1))))
              (entmake new)
              (resprop)
              ;
              (setq sset nil)
              (setq dset nil)
              (setq lst nil)
              (command "_.UNDO" "_E")
              (setvar "CMDECHO" cmdecho)
            )
            (redraw bitm 4)
          )
        )
      )
    )
  )
  (setq sset nil)
  (setq mlst nil)
  (princ)
)
)

(defun C:VT2M ( / mwid dset ibrk bitm bent sset rect mlay mcol mlst
                      bins bang tang nins num ndis chnd cent nhnd nstr
                      str pt1 pt2 pt3 dis dvx dvy dvz new)
  (if (< (atoi (getvar "ACADVER")) 13)
    (alert "This Function Requires\nRelease 13 or Higher")
    (progn
      (setq cmdecho (getvar "CMDECHO"))
      (setvar "CMDECHO" 0)
      (command "_.UNDO" "_G")
      (setq mwid 0.0)
      (setq dset (ssadd))
      ;
      ;(initget "Y N")
      ;(setq tmp (getkword "\nDS> Include Line Breaks <Y>/N: "))
      ;(if (/= tmp "N")(setq ibrk "Y")(setq ibrk "N"))
      (setq ibrk "N")
      ;
      (setq bitm (car (entsel "\nDS> Pick Base String: ")))
      (setq bent (entget bitm))
      (setq rect (textrect bent))
      (setq chk (distance (car rect)(cadr rect)))
      (if (> chk mwid)(setq mwid chk))
      ;
      (if (= "TEXT" (cdr (assoc 0 bent)))
        (progn
          (redraw bitm 3)
          (princ "\nDS> Select Remaining Text: ")
          (setq sset (ssget '((0 . "TEXT"))))
          (if sset
            (progn
              (setq rect (textrect bent))
              (setq orig rect)
              (setq mlay (cdr (assoc 8 bent)))
              (setq mcol (cdr (assoc 62 bent)))
              (setq mlst (list (cdr (assoc 1 bent))))
              ;
              (if (> (cdr (assoc 72 bent)) 0)
                (setq bins (cdr (assoc 11 bent)))
                (setq bins (cdr (assoc 10 bent)))
              )
              (setq bang (cdr (assoc 50 bent)))
              (setq tang (- bang (/ PI 2)))
              (setq nins bins)
              (ssdel bitm sset)
              (while (> (sslength sset) 0)
                (setq num (sslength sset) itm 0)
                (setq ndis 99999999.9)
                (while (< itm num)
                  (setq chnd (ssname sset itm))
                  (setq cent (entget chnd))
                  (if (> (cdr (assoc 72 cent)) 0)
                    (setq cins (cdr (assoc 11 cent)))
                    (setq cins (cdr (assoc 10 cent)))
                  )
                  (setq cdis (distance bins cins))
                  (if (< cdis ndis)
                    (setq ndis cdis nhnd chnd nent cent)
                  )
                  (setq itm (1+ itm))
                )
                (setq dset (ssadd nhnd dset))
                (ssdel nhnd sset)
                ;
                (setq rect (textrect nent))
                (setq chk (distance (car rect)(cadr rect)))
                (if (> chk mwid)(setq mwid chk))
                ;
                (setq nstr (cdr (assoc 1 nent)))
                (setq mlst (append mlst (list nstr)))
              )
              ;
              (entdel bitm)
              (setq num (sslength dset) itm 0)
              (while (< itm num)
                (setq hnd (ssname dset itm))
                (entdel hnd)
                (setq itm (1+ itm))
              )
              ;
              (savprop)
              (setvar "CLAYER" mlay)
              (if (/= mcol nil)
                (setvar "CECOLOR" (col2str mcol))
              )
              (setq mwid (+ mwid (* mwid 0.025)))
              (setq pt1 (car orig))
              (setq pt2 (cadr orig))
              (setq dis (distance pt1 pt2))
              (setq dvx (/ (- (car pt2)(car pt1)) dis))
              (setq dvy (/ (- (cadr pt2)(cadr pt1)) dis))
              (setq pt3 (list dvx dvy 0.0))
              (setq nins (list (car (cadddr orig))
                         (cadr (cadddr orig))
                         (nth 2 (cdr (assoc 10 bent)))))
              ;
              (setq new '((0 . "MTEXT")(100 . "AcDbEntity")(100 . "AcDbMText")))
              (setq new (append new (list (assoc 7 bent))))
              (setq new (append new (list (assoc 8 bent))))
              (setq new (append new (list (cons 10 nins))))
              (setq new (append new (list (cons 11 pt3))))
              (foreach lin mlst
                (if (= ibrk "Y")
                  (if (/= lin (last mlst))
                    (setq lin (strcat lin "\\P"))
                  )
                  (setq lin (strcat lin "$"))
                )
                (setq new (append new (list (cons 1 lin))))
              )
              (setq new (append new (list (assoc 40 bent))))
              (setq new (append new (list (cons 41 mwid))))
              (setq new (append new (list (cons 71 1))))
              (setq new (append new (list (cons 72 1))))
              (entmake new)
              (resprop)
              ;
              (setq sset nil)
              (setq dset nil)
              (setq lst nil)
              (command "_.UNDO" "_E")
              (setvar "CMDECHO" cmdecho)
            )
            (redraw bitm 4)
          )
        )
      )
    )
  )
  (setq sset nil)
  (setq mlst nil)
  (princ)
)

Perbandingan AutoCAD dengan ZWcad ( AutoCAD vs ZWcad )

Apakah ZWCAD seunggul AutoCAD ? berikut ulasan menurut saya yang juga pengguna software ZWCAD.

Siapa yang tidak mengenal software Cad bernama AutoCAD, tentunya bisa dikatakan raja Cad, tetapi disamping dengan keunggulan yang dimiliki AutoCAD sebanding dengan harga yang ditawarkan dari Autodesk selaku pemilik software AutoCAD.

Dengan harga yang tinggi tentunya tidak semua kalangan dapat membeli software AutoCAD sehingga mereka mencari software CAD alternatif, disini saya ambil sebagai contoh adalah software Cad alternatif yang bisa dipilih sebagai para engineer dan designer yang membutuhkan software Cad, yaitu software cad yang bernama ZWCAD yang dimiliki oleh ZWSoft dan tentunya dengan nilai harga relatif rendah yang bisa dikatakan hanya seperdelapannya.

Disini saya coba membandingkan software AutoCAD dengan ZWCAD mengenai fitur - fitur yang menjadi kelebihan dari masing - masing software.

AutoCAD vs ZWCAD :

Beberapa contoh persamaan fungsi yang sering digunakan di AutoCAD dan terdapat pada ZWCAD :

  1. Dapat menggunakan command line.
  2. Command line dapat diganti sesuai kebutuhan. baca cara mengganti command di AutoCAD
  3. Dapat menggunakan bahasa pemrograman AutoLISP dan VBA. baca mengenal AutoLisp dan download AutoLisp

Kelebihan yang menonjol dari ZWCAD dibandingkan dengan AutoCAD :

  1. Terdapat menu File Compare.

Kekurangan yang menonjol dari ZWCAD dibandingkan dengan AutoCAD :

  1. ZWCAD tidak bisa membaca dynamic block layaknya AutoCAD, jika drawing terdapat object dynamic block yang sebelumnya dibuat di AutoCAD maka dynamic block tersebut hanya terbaca seperti block biasa.

Berikut penampakan software ZWCAD 2012


Perbandingan AutoCAD dengan ZWcad ( AutoCAD vs ZWcad )

Menu File Compare di ZWCAD tidak ada di AutoCADMenu Load Application di ZWCAD


Command Line di ZWCAD
Command Line

Mengganti command di ZWCAD sama di AutoCAD
Menu untuk mengganti command

Semoga perbandingan fitur - fitur diatas dapat membantu sebagai acuan dalam pemilihan software CAD manakah yang dapat mendukung dan mempercepat pekerjaan proyek yang kita miliki tentunya dengan mempertimbangkan harga dan hasil yang kita dapatkan dari pengerjaan sebuah proyek. Silahkan berkomentar jika menurut anda ada software alternatif yang lain.


Feature

ZWCAD

AutoCAD

Classic

LT

Full

Compatibility & Collaboration

DWF\DXF\DWT Support

X

X

X

.dwg version 2.5 to 2013

X

X

X

Interface

Ribbon



X

X

Palettes

X

X

X

Menu and toolbar

X

X

X

Command line

X

X

X

Drawing tabs

X

X

X

2D Drawing and Editing

Fundamentals 

X

X

X

Entity Snap 

X

X

X

Polar Tracking 

X

X

X

Multiple Undo\Redo 

X

X

X

Hatch & Gradient 

X

X

X

Region 

X

X

X

Revcloud 

X

X

X

Multiline 

X



X

Annotate

Dimension
X
X

X

Quick Dimension

X

X

X

Associative dimensions

X

X

X

Text and Mtext

X

X

X

Text in-place editing

X

X

X

Leader & Qleader & Mleader

X

X

X

Table

X

X

X

Field

X

X

X

Layer

Layer Manager

X

X

X

Layer Filter

X

X

X

Layer State

X

X

X

Layer Translator

X



X

Xref, Block and attribute

OLE

X

X

X

Image

X

X

X

Xrefs

X

X

X

Block

X

X

X

Attribute

X

X

X

Advanced

Design Center 

X

X

X

Tool Palettes 

X

X

X

Group 

X

X

X

Quick Select 

X

X

X

Express Tool 

X



X

Command Prompt 

X

X

X

File Compare 

X





3D

3D Orbit

X

X

X

3D Modeling

X



X

3D Editing 

X



X

Visual Styles 

X



X

Render

X



X

Output

Publish
X

X

X

Plotting

X

X

X

Export

X

X

X

eTransmit 

X

X

X

Viewport

X

X

X

Layout

X

X

X

Programming

LISP

X



X

VBA

X



X

ZRX, SDS

X



ARX