Just to be clear, this took a big performance hit over entmakex?
(defun rjp-insertcan2 (pt layer sc val / elst)
(if (setq elst
(entmake (list '(0 . "INSERT")
'(100 . "AcDbEntity")
'(100 . "AcDbBlockReference")
'(2 . "RJP_CatchCan")
(cons 8 layer)
(cons 10 pt)
(cons 41 sc)
(cons 42 sc)
(cons 43 sc)
(cons -3 (list (cons "Precipitation" (list (cons 1040 val)))))
)
)
)
(vlax-ename->vla-object (cdr (assoc -1 elst)))
)
)