gp:getDialogInput function. Whenever you modify a stubbed-out function, you should always check a couple of things:You have now revised the
gp:getDialogInput, the answer to both questions is yes. The function now accepts the parameter of the path width (to set the default tile size and spacing). And instead of returning T, which is the value the stubbed-out version of the function returned, gp:getDialogInput now returns an association list containing four new values.In the case of
C:GPath function in gpmain.lsp with the following code:Both changes affect the code that calls the function and the code that handles the return values from the functions. Replace your previous version of the
(defun C:GPath (/ gp_PathData gp_dialogResults)
;; Ask the user for input: first for path location and
;; direction, then for path parameters. Continue only if you
;; have valid input. Store the data in gp_PathData.
(if (setq gp_PathData (gp:getPointInput))
(if (setq gp_dialogResults (gp:getDialogInput (cdr(assoc 40
;; Now take the results of gp:getPointInput and append this
;; to the added information supplied by gp:getDialogInput.
(setq gp_PathData (append gp_PathData gp_DialogResults))
;; At this point, you have all the input from the user.
;; Draw the outline, storing the resulting polyline
;; "pointer" in the variable called PolylineName.
(setq PolylineName (gp:drawOutline gp_PathData))
) ;_ end of progn
(princ "\nFunction cancelled.")
) ;_ end of if
(princ "\nIncomplete information to draw a boundary.")
) ;_ end of if
(princ) ; exit quietly
) ;_ end of defun
C:GPath function. There are two essential changes to make the program work correctly:Take a look at the boldface lines in the revision of the main
There are additional changes in the code resulting from the replacement of placeholders in the stubbed-out version. The easiest thing to do is copy this code from the online tutorial and paste it into your file.