Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 11/07/2025 in all areas

  1. @Steven P that works way better than i dreamed... even if you say its a bit dirty... Being able to select the intersection of datum and reference line, and the scaling option is brilliant.. If i had a box of Jaffa Cakes they would be in your hands right now.... Thank you soo much.... @BIGAL thank you for the reply and i think i understand what you mean... but i need to leave some work for my understudy to do can't speed him up too much.....
    1 point
  2. I think this is something that Civil3D covers - BigAl knows these things better than me though. This is a very quick and dirty LISP: Noting that your lines are 1000x longer than the reference texts, I have a multiplier (hit enter to just accept the 1000, you can change the code to suit) Select the reference polyline - I am assuming always a horizontal reference line as your example Select the point that the height texts refer to (is it the centre of the '+', in the drawing there is a point drawn at the correct height next to each text) and then the associated text. Repeat along the points Exit badly with the escape key. I am going to get abuse for cutting corners there... Slight difference to your example that my lines are drawn from the closest point on the polyline that you selected (defun c:test ( / Multiplier ReferencePoly ReferenceY EndLoop MyPoint MyHeight MyHt ClosestPoint) (defun MkLn ( pt1 pt2 Layer / Ln ) ;; Add in layer etc details (setq Ln (entmakex (list '(0 . "LINE") '(100 . "AcDbEntity") '(410 . "Model") '(62 . 0) '(100 . "AcDbLine") (cons 8 Layer) (cons 6 "CONTINUOUS") (cons 62 256) (cons 10 pt1) (cons 11 pt2) '(210 0.0 0.0 1.0) ))) ; end list, entmakex, setq ) (setq Multiplier (getreal "Enter Height Multiplier (1000)")) (if (or (= Multiplier nil)(= Multiplier "")(= Multiplier 0)) (setq Multiplier 1000) ) (setq ReferencePoly (car (entsel "Select Reference Polyline"))) (setq ReferenceY (cdr (assoc 10 (entget ReferencePoly)))) (setq EndLoop "No") (while (= EndLoop "No") (setq MyPoint (getpoint "Select Point")) (setq MyHeight (car (entsel "Select Height text"))) (setq MyHt (cdr (assoc 1 (entget MyHeight)))) (setq ClosestPoint (vlax-curve-getclosestpointto ReferencePoly MyPoint)) (MkLn ClosestPoint (mapcar '* '(1 1 0) (mapcar '+ (list 0 (* Multiplier (atof MyHt)) 0) ClosestPoint)) "0") ) )
    1 point
  3. Need a Plan dwg showing the line work etc this will give some clues about the extra points that you want highlite those points in the Plan dwg, to really get an proper answer need a full CIV3D dwg not just a output setcion so a CIV3D user can run the make long and cross sesctions.
    1 point
  4. 759 downloads

    ;-------------------------------------------------; ; EDGENET ROUTINE - TWIN OF COMMAND EDGESURF ; ;-------------------------------------------------; ; Author : Marko Ribar, d.i.a. (architect) ; ; Copyright (C) - All rights reserved, 11.2019. ; ;-------------------------------------------------; ; You have permission to copy any part of code ; ; with guarantee that this header will be ; ; present in material that is modified or ; ; partly remained the same as in this routine ; ; version. If header is removed, you are ; ; responsible to mention author and link from ; ; where the code is publiced with explicit ; ; mark that material is copyrighted and is not ; ; for further distribution or selling or base ; ; for gaining any material or any other benefit ; ; than for learning and study and eventual ; ; improvement of its present functionality. ; ;-------------------------------------------------; edgenet-newest.lsp is routine that works similar to command EDGESURF... The difference between EDGESURF and EDGENET-NEWEST.LSP is that LSP version makes Polygon Mesh that is with softer and smaller magnitude lofting approximation... If you wish you can check several routines packed in ZIP and find the one you prefer... They are little slower than built-in EDGESURF, but nevertheless IMHO they are good examples of how this task can be solved from LISP perspective... As always I am opened for any input and your versions (if you have and willing to share)... Regards, Marko Ribar, d.i.a. (architect)
    1 point
×
×
  • Create New...