CAD Forum - tips, tricks, discussion and utilities for AutoCAD, Inventor, Revit and other Autodesk products [www.cadforum.cz] ARKANCE | CONTACT - CZ | SK | EN | DE

CAD tip CAD tip # 1366:

Question

CAD 
 %  platform  category 
A
Use the following function for a LISP generator of pseudo-random numbers:
(defun rnd (/ modulus multiplier increment random)
  (if (not seed)
    (setq seed (getvar "DATE"))
  )
  (setq modulus    65536
        multiplier 25173
        increment  13849
        seed  (rem (+ (* multiplier seed) increment) modulus)
        random     (/ seed modulus)
  )
)
Each call of the function (rnd) then returns a pseudo-random number in the range (0,1). E.g. to get random integers from 0 to 20, use (fix(* 20 (rnd))).
ACAD
100% *CAD
1.6.2001    20921×  
this tip shared by ARKANCE experts applies to: AutoCAD ·

See also:
Tip 14864:How to generate a spirograph curve, guilloche, for CAD applications?
Tip 14861:RegExpCnt - LISP string replace function with arithmetic/counter-extension
Tip 14851:Shrinkwrap - boundary curve of DWG drawing polylines.
Tip 14832:Convert polylines to alignments in Civil 3D.
Tip 14795:How to transfer named layer states from another DWG drawing?


Back    All CAD Tips



Have we helped you? If you want to support the CAD Forum web service, consider buying one of our CAD applications, or our custom software development offerings, or donating via PayPal (see above). You may also add a link to your web - like this "fan" link: CAD Forum - tips, utilities, blocks for Autodesk products
CAD: 
OS: 
Categ: 
Text:
 FAQ
  



Featuring:
Revit plugins for automating data management, opening creation for clashes, and documentation Be.Smart Core Collection More info


Please use these tips at your own risk.
ARKANCE is not responsible for possible problems that may occur as a result of using any of these tips.
TOPlist