Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 05/29/2023 in all areas

  1. Thank you all for the suggestions, I will try the various solutions and call back if I encounter any problems
    1 point
  2. Someone has to explain to me the difference between these two triangles of the same dimensions...!
    1 point
  3. Did you set the graphics card to not use the internal Intel graphics card but the 3050. Now where is it.
    1 point
  4. So these are the system requirements for 2023 (https://www.autodesk.com/support/technical/article/caas/sfdcarticles/sfdcarticles/System-requirements-for-AutoCAD-2023-including-Specialized-Toolsets.html)_ - should run reasonably with this. Is it only AutoCAD that is laggy with the setup you used?
    1 point
  5. Which program are you really interested in learning. Your post header mentions AutoCAD but the following text mentions Revit. They are two entirely different programs. Personally, I would recommend going with Revit as I see many a company advertising for that particular skill.
    1 point
  6. One way around the 2 point intersection of 2 circles is to use 2 arcs instead. The arc center point are the ends and the side of the arcs is based on the P1 P2 direction so arcs say are always to left. (defun c:trilen ( / l1 l2 l3 pt1 pt2 pt3 obj1 obj2) (setq L1 (getreal "\nEnter L1 ")) (setq L2 (getreal "\nEnter L2 ")) (setq L3 (getreal "\nEnter L3 ")) (setq pt1 (getpoint "\nPick left point ")) (setq pt2 (polar pt1 0.0 l1)) (command "line" pt1 pt2 "") (setq pt3 (polar pt1 pi l2)) (command "arc" "C" pt1 pt3 "a" 180) (setq obj1 (vlax-ename->vla-object (entlast))) (setq pt3 (polar pt2 0.0 l2)) (command "arc" "C" pt2 pt3 "a" -180) (setq obj2 (vlax-ename->vla-object (entlast))) (setq intpt (vlax-invoke obj2 'intersectWith obj1 acExtendThisEntity)) (vla-delete obj1) (vla-delete obj2) (command "line" Pt1 intpt "") (command "line" Pt2 intpt "") (princ) )
    1 point
  7. I just discovered this and anybody wanting to do things with Excel should welcome this, it has multiple functions. I use a couple of FIXO functions now and his efforts to talk to Excel had a huge catalogue. Please note these functions expect a coder has a good knowledge of lisp and how to use defuns etc. XLFIXOLIB.zip
    1 point
  8. This offers the two possible solutions (defun c:2xd ( / cc1 r1 cc2 r2 dce dxf_210 xi yi i cr1 cr2 vi xt yt h1 h2 h i1 i2 key i) (initget 9) (setq cc1 (getpoint "\nFirst start point?: ")) (initget 9) (setq cc2 (getpoint cc1 "\nSecond start point?: ")) (grdraw cc1 cc2 1) (initget 39) (setq r1 (getdist cc1 "\nFirst length?: ")) (initget 39) (setq r2 (getdist cc2 "\nSecond length?: ")) (grdraw cc1 cc2 0) (setq dce (distance cc1 cc2) dxf_210 (trans '(0 0 1) 1 0 T) ) (if (equal (/ dce (+ r1 r2)) 1E-16) (setq xi (/ (+ (* r2 (car cc1)) (* r1 (car cc2))) dce) yi (/ (+ (* r2 (cadr cc1)) (* r1 (cadr cc2))) dce) i (cons xi (cons yi '(0.0))) ) (if (and (not (zerop (- r1 r2))) (equal (/ dce (+ r1 r2)) 1E-16)) (progn (if (= r1 (max r1 r2)) (setq cr1 cc1 cr2 cc2) (setq cr1 cc2 cr2 cc1) ) (setq xi (/ (- (* (max r1 r2) (car cr2)) (* (min r1 r2) (car cr1))) dce) yi (/ (- (* (max r1 r2) (cadr cr2)) (* (min r1 r2) (cadr cr1))) dce) i (cons xi (cons yi '(0.0))) ) ) (progn (if (or (> dce (+ r1 r2)) (< (+ (min r1 r2) dce) (max r1 r2))) (prompt "\nNo intersection !...") (progn (setq vi (angle cc1 cc2)) (if (> r1 r2) (setq xt (- (/ (* (+ r1 dce r2) (- (+ r1 dce) r2)) (* 2 dce)) r1) yt (- dce xt) h1 (sqrt (- (expt r1 2) (expt xt 2))) h2 (sqrt (- (expt r2 2) (expt yt 2))) xi (/ (+ (* yt (car cc1)) (* xt (car cc2))) dce) yi (/ (+ (* yt (cadr cc1)) (* xt (cadr cc2))) dce) ) (setq xt (- (/ (* (+ r2 dce r1) (- (+ r2 dce) r1)) (* 2 dce)) r2) yt (- dce xt) h1 (sqrt (- (expt r2 2) (expt xt 2))) h2 (sqrt (- (expt r1 2) (expt yt 2))) xi (/ (+ (* xt (car cc1)) (* yt (car cc2))) dce) yi (/ (+ (* xt (cadr cc1)) (* yt (cadr cc2))) dce) ) ) (setq h (/ (+ h1 h2) 2) i1 (polar (cons xi (cons yi '(0.0))) (+ vi (/ pi 2)) h) i2 (polar (cons xi (cons yi '(0.0))) (- vi (/ pi 2)) h) ) (princ "\n<Move cursor> for choice; <Enter>/[Space]/Right-Click for end!.") (while (and (not (member (setq key (grread T 4 2)) '((2 13) (2 32)))) (/= (car key) 25)) (redraw) ; (grdraw cc1 cc2 7) (cond ((eq (car key) 5) (if (< (distance i1 (cadr key)) (distance i2 (cadr key))) (set 'i i1) (set 'i i2) ) (grdraw cc1 i 7) (grdraw i cc2 7) ) ) ) (entmake (list '(0 . "LWPOLYLINE") '(100 . "AcDbEntity") (cons 67 (if (eq (getvar "CVPORT") 1) 1 0)) (cons 410 (if (eq (getvar "CVPORT") 1) (getvar "CTAB") "Model")) (cons 8 (getvar "CLAYER")) (cons 62 (atoi (getvar "CECOLOR"))) (cons 6 (getvar "CELTYPE")) (cons 370 (getvar "CELWEIGHT")) '(100 . "AcDbPolyline") '(90 . 3) (if (eq (getvar "PLINEGEN") 1) '(70 . 128) '(70 . 0)) (cons 43 (getvar "PLINEWID")) (cons 38 (getvar "ELEVATION")) (cons 39 (getvar "THICKNESS")) (cons 10 (list (car cc1) (cadr cc1))) '(40 . 0.0) '(41 . 0.0) '(42 . 0.0) '(91 . 0) (cons 10 (list (car i) (cadr i))) '(40 . 0.0) '(41 . 0.0) '(42 . 0.0) '(91 . 0) (cons 10 (list (car cc2) (cadr cc2))) '(40 . 0.0) '(41 . 0.0) '(42 . 0.0) '(91 . 0) (cons 210 dxf_210) ) ) ) ) ) ) ) (prin1) )
    1 point
  9. Here comes a quick one. Not fully tested (defun c:pp() (setq l1 10.0 l2 13.6 l3 9.21) (setq p1 (list 3.3 2.2) p2 (polar p1 0.1234 l1)) (setq p (* (+ l1 l2 l3) 0.5)) (setq area (sqrt (* p (- p l1) (- p l2) (- p l3)))) (setq h (/ area l1 0.5)) (setq h1 (sqrt (- (* l2 l2) (* h h)))) (setq ang (atan h h1)) (setq p3 (polar p1 (+ ang (angle p1 p2)) l2)) (setq p4 (polar p1 (- ang (angle p1 p2)) l2)) ) Just a word of warning: working in 2D, there are two solutions to your request. This Lisp will show one of them in P3, and the other one in P4. You will need more conditions to find the right one
    1 point
×
×
  • Create New...