Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 02/09/2022 in all areas

  1. Are you making use of the HDMI-2 port on the GTX 970? If so the GPU will go to 3840×2160. Otherwise the results are downgraded a bit. I did not know that. I just googled it. (How did I get to be a grand master? That is impossible and a tad ridiculous indeed.)
    2 points
  2. With (rem) , the remainder of a division. If the remainder =0, then it's a multiple (if (= 0 (rem (getdist "\nMeasute a distance: ") 50.0)) (princ "\nIs a multiple of 50") (princ "\nIs not a multiple of 50") )
    2 points
  3. I always keep it updated via geforce experience.
    1 point
  4. I don't know why most of people prefer running before learning how to walk ! Any solution?
    1 point
  5. Have you started anything? It appears that you want someone else to give you the complete answer.
    1 point
  6. Thank you! I didn't realize that these were not at a dim scale linear = 1 because my precision wasn't set as high. Thank you so very much.
    1 point
  7. 99.9% of the time the user doesn't know what your testing/looking at for the protection. with enough time and poking around anything can be bypassed. most users wouldn't go to the hassle to do that.
    1 point
  8. You need to put the codes in the accept action although that I can't see them in the routine posted !.
    1 point
  9. I am not aware of any such requirement by AutoCAD. My files are saved to my personal hard drive or network drives. Could you explain in detail what is happening?
    1 point
  10. That drawing had 5 dimensions that are not = to 1 linear scale. the two that I'm guessing you changed to 1.5 for testing. But the other three dimensions are not 1 either. These deviations wouldn't affect any real dimensions and could be ignored by adding a fuzz distance to the if statement. (if (= 1 (vla-get-LinearScaleFactor obj)) change to (if (equal 1 (vla-get-LinearScaleFactor obj) 0.001) or change them to linear scale factor of 1
    1 point
  11. I think this should be enough. < untested >. (defun c:Test ( / sel int ent get inc) ;;----------------------------------------------------;; ;; Author : Tharwat Al Choufi - 8.Feb.2022 ;; ;; website: https://autolispprograms.wordpress.com ;; ;;----------------------------------------------------;; (and (princ "\nSelect polylines to locate points on end and mid points : ") (setq int -1 sel (ssget '((0 . "LWPOLYLINE")))) (while (setq int (1+ int) ent (ssname sel int)) (setq get (entget ent) inc -1 ) (foreach pt get (and (= (car pt) 10) (setq inc (1+ inc)) (foreach ins (list (vlax-curve-getpointatparam ent inc) (vlax-curve-getpointatparam ent (- inc 0.5)) ) (and ins (entmake (list '(0 . "POINT") (cons 10 ins)))) ) ) ) ) ) (princ) ) (vl-load-com)
    1 point
  12. Try this, It works by drawing temporary plines each 1 element of your selection, and using Tharwats code to plot points at their end and mid points. EDITED... it adds multiple points at the end of each vertex, just need to do a small modification later Apparently Tuesdays I have to work as well as Monday, who knew? Will come back to look at this later (defun c:test ( / endpoint curve midpoints ss acount mycount ent entdesc pt) (vl-load-com) ;;Get verticies, Points: 10 and Curve: 42 (princ "\nSelect polylines : ") (setq ss (ssget '((0 . "LWPOLYLINE")))) (setq acount 0) (while (< acount (sslength ss)) (setq endpoint (list)) (setq curve (list)) (setq ent (ssname ss acount)) (setq entdesc (entget ent)) (foreach x entdesc (if (= (car x) 10) (setq endpoint (append endpoint (list (cdr x)))) ) (if (= (car x) 42) (setq curve (append curve (list (cdr x)))) ) ) ;;Make temporary plines & get mid points (setq mycount 1) (while (< mycount (length endpoint)) (entmake (list (cons 0 "LWPOLYLINE") (cons 100 "AcDbEntity") (cons 100 "AcDbPolyline") (cons 90 2) (cons 70 0) (cons 10 (nth (- mycount 1) endpoint)) (cons 42 (nth (- mycount 1) curve)) (cons 10 (nth mycount endpoint)) )) ;;end entmake (setq ent (entlast)) (setq get (entget ent)) ;;From Tharwart (foreach pt (list (cdr (assoc 10 get)) (vlax-curve-getpointatdist ent (/ (vlax-curve-getdistatpoint ent (vlax-curve-getendpoint ent)) 2.0))) (entmake (list '(0 . "POINT") (cons 10 pt))) ) ;end for each (entdel ent) ;;delete temp pline (setq mycount (+ mycount 1)) ) ; end while (entmake (list '(0 . "POINT") (cons 10 (last endpoint)))) (setq acount (+ acount 1)) ) ; end while (princ) )
    1 point
  13. Selects all dimensions in the drawing and then removes them if they have a linear scale factor = 1 or doesn't have a property of linear scale factor. like angular dimensions. this will either say Drawing Doesn't Have Any Dimension All Dimension in Drawing Have Linear Scale Factor = 1 or have the dimension's with a scale factor other then 1 selected when lisp is over (defun C:foo (/ SS e obj) (vl-load-com) (if (setq SS (ssget "_X" '((100 . "AcDbDimension")))) (foreach e (mapcar 'cadr (ssnamex SS)) (setq obj (vlax-ename->vla-object e)) (if (vlax-property-available-p obj 'LinearScaleFactor) (if (= 1 (vla-get-LinearScaleFactor obj)) (ssdel e SS) ) (ssdel e SS) ) ) (prompt "\nDrawing Doesn't Have Any Dimension") ) (if (and (/= ss nil) (> (sslength SS) 0)) (sssetfirst nil SS) (prompt "\nAll Dimension in Drawing \"Linear Scale Factor = 1\"") ) (princ) )
    1 point
  14. You can make the Treedyn block any shape you want the stretch parameter is for this simple block applied to a pline and the other to a simple 1 dia circle. You can make the tree look as complicated as you like just need to select all the tree parts not the circle when applying the dynamic stretch property to the original block in say BEDIT. Can have as many as you want for look and feel of different trees. The lisp that goes with the block looks at a civ3d coggo point description getting the parameters from that.
    1 point
  15. A "non-plotting circle" is like any other circle except that it's on a layer with the "plot" property turned off. In this case, it's there as a anchor for your Scale Action, but it won't show up in your finished plan.
    1 point
  16. I added the rest of the code that adds a circle equal to the Critical Protection Zone to a selected tree. If needed I can select and shrink-wrap them with the Civil 3D LineworkShrinkwrap command. As the or function only requires one True value it stops evaluating when it finds it. I use it in macros to test if a function is already defined and load it if it isn't. ^P(or C:TCH (load "TreeToBeRemoved.lsp"));CPZ Why not just add a circle to the center of your block with a diameter of 1/12 that would scale to display the trunk size?
    1 point
×
×
  • Create New...