Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 01/15/2024 in all areas

  1. Its odd that the flood mapping crosses, to me it is a sign that the generation has been done at different times for flood intervals. Given the way a flood map is generated, it is possible that a different surface model has been used for different intervals. The big issue is do a flood analysis set it going when you leave work and hope its done by start of work next day. So I would look at where the information came from stuff like different grid spacing in model generation could produce the dwg.
    2 points
  2. Thank you! I sent a post yesterday, but it looks like I made a mistake when sending the post! Tonight I will show some lisp, so maybe some things will be clearer .
    1 point
  3. "sort entities by their insertion time " dont think that exists, when using ssget not sure 100% but may be in creation order, issue is when you delete A13 and add it say back in its now at end of creation order. Steven my take "Select a block (DP) to get the current start point for the numbering" rather select object say pline near block can then find that block and the rest of the blocks at vertices, looking at images can have 3 blocks at 1 point. Creating new labels at pline vertices may be the way to go, can check does "A1" exist ? So look for highest "A" number. I think we need a dwg not images with before and after even if multi steps so its clear what is changing.
    1 point
  4. Not sure for inventor but RIBBON should turn on the RIBBON. Menubar for the pop menu.
    1 point
  5. It depends..... I tend to separate them here on the forum, it is easier to see what is happening that way which is good for learning. I don't think it makes a noticeable speed difference either way But it has uses, for example can group things together this example uses progn, or not (if (= AThing Somthing) (progn (setq One 1) (setq Two 2) (setq Three 3) ) ; end progn ) ; end if (if (= AThing Somthing) (setq One 1 Two 2 Three 3 ) ; end setq ) ; end if
    1 point
  6. @thekiki Your Welcome. I suggest you use these as examples to start learning how to do your own AutoLISP routines.
    1 point
  7. @thekiki Try This version: (defun c:Selpline (/ p1 p2 ss) (if (and (setq p1 (getpoint "\nSelect 1st corn of cossing window: ")) (setq p2 (getcorner p1 "\nSelect 2nd point of crossing window: ")) (setq ss (ssget "C" p1 p2 '((0 . "*POLYLINE")))) ) (sssetfirst nil ss) ) ss ) (defun c:Seltext (/ p1 p2 ss) (if (and (setq p1 (getpoint "\nSelect 1st corn of cossing window: ")) (setq p2 (getcorner p1 "\nSelect 2nd point of crossing window: ")) (setq ss (ssget "C" p1 p2 '((0 . "*TEXT")))) ) (sssetfirst nil ss) ) ss ) (defun c:Selblock (/ p1 p2 ss) (if (and (setq p1 (getpoint "\nSelect 1st corn of cossing window: ")) (setq p2 (getcorner p1 "\nSelect 2nd point of crossing window: ")) (setq ss (ssget "C" p1 p2 '((0 . "INSERT")))) ) (sssetfirst nil ss) ) ss )
    1 point
  8. This has become the most true statement I have come across in all of my days on any forum. ("I only find comfort in the fact all my colleagues suffer with me haha") Way to go RLX, you summarized our lives and explained many of our troubles so succinctly. If only others would realize that we too struggle with the same things on a daily basis, the CAD-world would be a little bit more gracious... [my vote for post of the year] ~Greg
    1 point
  9. Hi BigAl , Yes, I sent them an email about this . Will see . Great , your links are brilliant ! I didn't know could reverse .shx to .shp . Was very hard to run it , until I found this guide for dumpshx.exe . I will reproduce it below in case the link disappears : 1. Copy file from "C:\Program Files\Autodesk\AutoCAD 20??\Express\dumpShx.exe" to short and easy path "C:\Test\dumpShx.exe" You can even rename the file as "c:\1\d.exe" , TO BE EASY TO WRITE IN the COMMAND PROMPT . 2. Open Command Prompt for Windows , usually by writing in the down-left box . 3. Write to go in your Desired director : cd c:\test\ ; 4. Write all in ONE LINE as : dumpShx.exe -o c:\test\ltypeshp.shp c:\test\ltypeshp.shx and press ENTER . or more easy : dumpShx.exe -o c:\t\2.shp c:\t\1.shx or : dumpShx.exe -o d:\2.shp d:\1.shx and press ENTER . 5. Enjoy ! Picture attached .
    1 point
  10. here is my lisp i use it and tested and can write the length of three consequent points (defun c:leng () (command"regen""") (setq clyr(getvar"clayer")) (while (setq m1 (getpoint "\n please click on first point of curve")) (setq osmd(getvar"osmode")) (setq m2 (getpoint "\n click second point on circle")) (setq m3 (getpoint "\n click third point of curve")) (setq g (/(+(car m1)(car m2))2) h (/(+(cadr m1)(cadr m2))2) i (/(+(car m1)(car m3))2) j (/(+(cadr m1)(cadr m3))2) m (-(car m2)(car m1)) n (-(cadr m2)(cadr m1)) o (-(car m3)(car m1)) p (-(cadr m3)(cadr m1)) y0 (/(-(-(+(*(* o m)i)(*(* p m)j))(*(* o g)m))(*(* o n)h))(-(* m p)(* o n))) x0 (/(+(-(* g m)(* n y0))(* n h))m) r0 (sqrt(+(expt(- x0 (car m1))2)(expt(- y0 (cadr m1))2))) ccm (list x0 y0) a1 (angle ccm m1) a2 (angle ccm m2) a3 (angle ccm m3) a2x (sin a2) a2c (cos a2) a2m (/ a2x a2c) ) (cond ((and(< a1 a2)(< a1 a3)(< a2 a3)) (setq ang0 (- a3 a1))) ((and(> a1 a2)(> a1 a3)(> a2 a3)) (setq ang0 (- a1 a3))) ((and(> a1 a2)(> a1 a3)(< a2 a3)) (setq ang0 (-(* 2 pi)(- a1 a3)))) ((and(< a1 a2)(> a1 a3)(> a2 a3)) (setq ang0 (-(* 2 pi)(- a1 a3)))) ((and(< a1 a2)(< a1 a3)(> a2 a3)) (setq ang0 (-(* 2 pi)(- a3 a1)))) ((and(> a1 a2)(< a1 a3)(< a2 a3)) (setq ang0 (-(* 2 pi)(- a3 a1)))) ) (setq l0 (* r0 ang0)) (setq a2g (/(* a2 200)pi)) (setq az2 (atan 1 a2m)) (setq az2g (/(* az2 200)pi)) (setq m21(polar m2(+ a2(* 2 pi)) 0.4)) (command "color"1) (command "color"6) (setvar"osmode"0) (command "text" m21"1"az2g(rtos l0 2 3)) (setvar "osmode"osmd) ) ) ;be sure texthight is zero
    1 point
  11. Ah ok, maybe this instead then: (defun c:DimCir (/ doc spc ent p1 p2 ax cen) (vl-load-com) (setq doc (vla-get-ActiveDocument (vlax-get-Acad-Object)) spc (if (zerop (vla-get-activespace doc)) (if (= (vla-get-mspace doc) :vlax-true) (vla-get-modelspace doc) (vla-get-paperspace doc)) (vla-get-modelspace doc))) (if (and (setq ent (car (entsel "\nSelect Circle: "))) (eq "CIRCLE" (cdr (assoc 0 (entget ent)))) (setq p1 (getpoint "\nPt1: ")) (setq p2 (getpoint "\nPt2: "))) (progn (setq ax (vla-addArc spc (vlax-3D-point (setq cen (cdr (assoc 10 (entget ent))))) (cdr (assoc 40 (entget ent))) (angle cen p1) (angle cen p2))) (vla-put-TextOverride (vlax-invoke spc 'adddimangular cen p1 p2 p1) (rtos (vla-get-ArcLength ax))) (vla-delete ax) (vl-cmdf "_.dimtedit" (entlast) pause))) (princ))
    1 point
×
×
  • Create New...