#2
Select a polyline, select the starting point, then select "A" for Arc at the command line. continue to draw the polyline around where you want the cloud. For the last part select close to complete the polyline.

You can edit the cloud by selecting it and adjusting the handles.

------------------
Regards
John Finlay

#3
Thank You for your reply John.I have tried this procedure but it is quite time consuming.We have created an lisp for the revision clouds and is quite succesful with it.If any body in this forum is interested, i can send them for FREE.
I suggest CMS create a free shareware download site so Intellicad users all over the world can share what ever they think can to other Intellicad users.

#4
Below is a modified version of an Autocad routine I've been using for a long time. Also create a text file called revcloud.dat containing just your default bulge length, and put it in the same directory as the lisp.


;;; REVCLOUD.LSP
;;; Copyright (C) 1997 by Autodesk, Inc.
;;;
;;; Permission to use, copy, modify, and distribute this software
;;; for any purpose and without fee is hereby granted, provided
;;; that the above copyright notice appears in all copies and
;;; that both that copyright notice and the limited warranty and
;;; restricted rights notice below appear in all supporting
;;; documentation.
;;;
;;; AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
;;; AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
;;; MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC.
;;; DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
;;; UNINTERRUPTED OR ERROR FREE.
;;;
;;; Use, duplication, or disclosure by the U.S. Government is subject to
;;; restrictions set forth in FAR 52.227-19 (Commercial Computer
;;; Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
;;; (Rights in Technical Data and Computer Software), as applicable.
;;;
;;; Last revision 3/14/97 1:28 PM Greg Robinson
;;;
;;;
;;; Credits: Original Code, idea and concept by David Harrington
;;; Bill Kramer, Q.C.
;;; Phil Kreiker, Q.C.
;;; Dominic Panholzer, Q.C.
;;; Randy Kinsley, Error Control
;;; Greg Robinson
;;;
;;;

(Defun C:REVCLOUD (/
ARC_DIST ;;radius of included arc
INC_ANGLE ;;included angle in degrees
LAST_PT ;;the last point just entered/shown
START_PT ;;where the cloud began
NEXT_PT ;;where we are going next
TMP ;;tempory holder for radius of bulge
)
(SETQ oldcmdecho (GETVAR "cmdecho"))
(SETVAR "cmdecho" 0)


(setq fname (findfile "revcloud.dat"))
(if (= nil fname)
(progn (alert "Can't find data file in search path.\nArc length set to 100"))
(progn
(setq file (open fname "r"))
(setq arc_dist (atof (READ-LINE FILE)))
(close file)
)
)


;;--------real program starts here!

(Setq INC_ANGLE 110)

;; (if (and
;; (/= "" (getcfg "AppData/AC_Bonus/Revcld_Bulge"))
;; (/= nil (getcfg "AppData/AC_Bonus/Revcld_Bulge"))
;; )
;; (setq ARC_DIST (atof (getcfg "AppData/Revcld_Bulge")))
;(if (= (getvar "DIMSCALE") 0)
; (setq ARC_DIST 100)
; (setq ARC_DIST (* 0,375 (getvar "DIMSCALE")))
; )
;);end if

(prompt (strcat "\nArc length set at " (rtos ARC_DIST 2 3)))

(initget "Arc")
(setq LAST_PT (GetPoint "\nArc length/<Pick cloud starting point>: "))

(if (= LAST_PT "Arc")
(progn
(initget 6)
(setq TMP (getdist (strcat "\nArc length <" (rtos ARC_DIST 2 3) ">: ")))
(if TMP

(setq ARC_DIST TMP)
;R14 method of saving variable values
;;(setcfg "AppData/Revcld_Bulge" (rtos ARC_DIST))
)
;; )
(setq LAST_PT (getpoint "\nPick cloud start point: "))
) ;;end STR "RADIUS" test
)

(if LAST_PT (progn ;;start up the cloud generator...
(setq START_PT LAST_PT
SAVED_EN (entlast))
(Prompt "\nGuide crosshairs along cloud path...")
(Command
"_.pline" ;draw cloud as a polyline on current layer
LAST_PT
"_a" ;specify arc option
"_a" ;specify angle option
INC_ANGLE ;included angle
)
)) ;end IF LAST_PT

(While LAST_PT ;;as long as we have a last point value,

(Setq NEXT_PT (GrRead 1) ;;real time read
READTYP (car NEXT_PT)
)
(if (or (= 5 READTYP) (= READTYP 3)) ;;read a position or a pick?
(progn
(setq NEXT_PT (cadr NEXT_PT))
(If (or (> (Distance LAST_PT NEXT_PT) ARC_DIST) (= READTYP 3))
(Progn
(Command NEXT_PT "_a" INC_ANGLE)
(Setq LAST_PT NEXT_PT)
)
)
(If (>
(Distance LAST_PT NEXT_PT)
(Distance START_PT NEXT_PT)
)
(Progn
(Command START_PT "_cl")
(Setq LAST_PT Nil)
(prompt "\nCloud finished.")
)
)
)
(prompt "\nMove the pointer to draw the cloud")
);End if
);End while
;;(restore_old_error)
(Princ)

(if (/= fname nil)
(progn(setq file(open fname "w"))
(write-line (rtos arc_dist 2 3) file)
(close file)
(SETVAR "cmdecho" oldcmdecho)

)
)


) ;end cloud.lsp

(Defun c:RCHELP (/)
(prompt " The Revision Cloud program draws a user specified bulge pline\n")
(prompt " along the path of the crosshairs. To close the cloud, \n")
(prompt " simply return to the starting point\n")
(prompt " The cloud arc length can be specified in the beginning, with keyboard input\n")
(prompt " by specifying A for Arc, entering a length, or picking two pts.\n")
(textscr)
(princ)
)

(Prompt " REVCLOUD loaded. Type REVCLOUD to draw Revision Cloud,\n")
(prompt " to close, return to starting point. For additional Help - RCHELP")
(Princ)


[This message has been edited by avaernes (edited 04-09-2003).]

#5
I copied the routine into a file and named it revcloud.lsp and made the file revcloud.dat with 0.5 in it. revcloud.dat is in the same folder as revcloud.lsp.

I get the "can't find data file in search path..." error. Then it says "An error has occurred: bad argument type"

I am new to to these routines. What am I doing wrong?

#6
I wrote a revcloud routine. I did not like the the one by AutoDesk.

This one uses a multiwidth polyline which gives it more of a hand drawn look and makes it stick out better. You also have a lot of control over the arc lengths and arc locations by picking a lot of points. This makes it very good at controlling the rev cloud in tight spaces.
http://delapp.com/cad/
cron