Q: Is he good at programming?

A: Just as much as necessary

Several details of the design process is worth automatizing.

To display the right of way is a requirement on Hungarian cross sections. I get AutoCAD polylines as border of acquisition from the surveyors. First, I check the direction of each polylines, because it is important. The little arrow will point to the opposite direction if missing this step. After importing polylines in MX I use a tool that raises every string to the triangulation representing the ground. And offsets them 1 meter higher and a bit sidelong. Sectioning these pairs of string and using a special linestyle the right of way can be displayed beautifully.

We, in Uvaterv, do not like issue dwgs including MXACSTRING objects. Instead of passing arx and dbx files and explaining how to use them, we explode all MX objects if a particular drawing is completed in MX. The exploding, purging and converting is the last step of every drawing production. InputPlus files, that draw something, end with 'insert,mxdwg'. This command invokes a macro, and the macro executes an AutoLISP file. Beyond exploding, several changes can be performed by a single Lisp. Using this facility nobody has any problem opening or viewing a former MX drawing.

(setq count 0)
(while (< count (sslength moss))
	(setq ent (entget (ssname moss count)))
	(setq ent_col (cdr (assoc 62 ent)))
	(if (not ent_col) (progn
		(setq ent_lay (cdr (assoc 8 ent)))
		(setq cur_lay (tblsearch "layer" ent_lay))
		(setq lay_col (cdr (assoc 62 cur_lay)))
		(command "_change" (cdr (assoc -1 ent)) "" "_p" "_c" lay_col "")
	(command "_explode" (cdr (assoc -1 ent)))
	(setq count (1+ count))

Got it? :-)

Certainly, there are more tiny applications for everyday usage. Mainly data or file converters. Only the more interesting ones were presented.