Jump to content

All Activity

This stream auto-updates

  1. Past hour
  2. Use what you have done previously but for dx code 10: (foreach dxf le (if (= (car dxf) 10) (setq le (subst (cons 10 (zeroz (cdr dxf))) dxf le)) ) )
  3. Today
  4. Oh OK. Thanks for mentioning
  5. Yes I briefly forgot that LWPOLYLINES don't have a Z coordinate and instead use group 38 to define their elevation. Therefore @shokoufeh: the code you added to set the Z for LWPOLYLINES is unnecessary
  6. so, how should I change the code?
  7. Missed your message but am intrigued now... (a guess I would say you were saying LWPolyline has X, Y, Z coords - I've done the same many times too)
  8. I think hatch is the first '10' if an elevation has been set (10 0.0 0.0 'Z')
  9. I was checking my files and I found out another problem. Except elements I mentioned (lines, poly lines, texts and blocks), the problem with Z values exist in other elements, as I mention below: Hatch: Elevation Leader: Vertex Z Ellipse: Start Z, Center Z, End Z Arc: Start Z, Center Z, End Z Circle: Center Z Solid: Elevation Attribute Definition: Text Alignment Z Array (Rectangular) : Base Z Please check this modified lisp and see if it is correct or not. This lisp doesn't work on HATCH. ZRemove.lsp
  10. Enter 2.6 in the Text Height box.
  11. Sorry: That problem will never exist in a LWPOLYLINE: Forget what I said, if you managed to read the previous message
  12. Sorry: The problem I referred to will never exist in a LWPOLYLINE: Forget what I said, if you managed to read the previous message
  13. There was a thread a few days ago about speeding up a LISP to do the same, have look at that for ideas. I think the thread got as far as arcs are tricky to do with LISPs. You could use the flatten command for small drawings. This snippet will filter a selection set to lines or LWPolylines to anything not 0 Z (setq MySS (ssget (list (cons 0 "*TEXT,INSERT,LINE,LWPOLYLINE") '(-4 . "<OR") '(-4 . "*,*,<>") (list 10 0.0 0.0 0.0) '(-4 . "*,*,<>") (list 11 0.0 0.0 0.0) '(-4 . "<>") (cons 38 0) '(-4 . "OR>") )) ; end list, end ssget ) Can be added to the other solutions herein the case that your drawing has a lot of lines / polylines / blocks it speeds it up a bit Link to other thread:
  14. Sounds good If you've tried it and it works:
  15. GREAT. It works. Thank you very much
  16. Try again (defun c:todoA0 (/ cj e le n to p1 p2) (IF (setq cj (ssget "x" '((0 . "TEXT,MTEXT,INSERT,LINE,LWP*")))) (while (setq e (ssname cj (setq n (if n (1+ n) 0)))) (setq le (entget e) to (cdr (assoc 0 le)) p1 (assoc 10 le) ) (cond ((= to "LINE") (setq p2 (assoc 11 le)) (entmod (subst (cons 10 (list (cadr p1) (caddr p1) 0.0)) p1 le)) (entmod (subst (cons 11 (list (cadr p2) (caddr p2) 0.0)) p2 (entget e))) ) ((= to "LWPOLYLINE") (entmod (subst (cons 38 0.0) (assoc 38 le) le)) ) ((member to '("TEXT" "MTEXT" "INSERT")) (entmod (subst (cons 10 (list (cadr p1) (caddr p1) 0.0)) p1 le)) ) ) ) ) (princ) )
  17. Please check this code. I made a few modification, and I think now it works for both start and end Z values. ZRemove.txt
  18. Z Value Problem-modified.dwg
  19. Wow It worked great. thank you very much. just one last question: Only "End Z" of lines are being modified to Zero. how can I make this modification to "Start Z" of lines, too?
  20. Try (defun c:todoA0 (/ cj e le n to p1 p2) (IF (setq cj (ssget "x" '((0 . "TEXT,MTEXT,INSERT,LINE,LWP*")))) (while (setq e (ssname cj (setq n (if n (1+ n) 0)))) (setq le (entget e) to (cdr (assoc 0 le)) p1 (assoc 10 le) ) (cond ((= to "LINE") (setq p2 (assoc 11 le)) (entmod (subst (cons 10 (list (cadr p1) (caddr p1) 0.0)) p1 le)) (entmod (subst (cons 11 (list (cadr p2) (caddr p2) 0.0)) p2 le)) ) ((= to "LWPOLYLINE") (entmod (subst (cons 38 0.0) (assoc 38 le) le)) ) ((member to '("TEXT" "MTEXT" "INSERT")) (entmod (subst (cons 10 (list (cadr p1) (caddr p1) 0.0)) p1 le)) ) ) ) ) (princ) )
  21. thank you. It seems that this lisp finds the lines with Z value problem and adds a label near them. It is great that it can find the lines, but I don't want this label to be added near this lines. I only need to select them. Can this lisp file be modified, so that it changes the Z values of the selected lines, to Zero? I mean, it selects the lines and modifies the "Start Z" and "End Z" to 0.
  22. thanks. I will see how I go creating the dynamic block. It does sound like what I want
  23. try this one. ZLABEL-Label Z Values On Topography Lines.fas
  24. Many years ago Civilcad Civil software we are talking at least 25 years ago had place a house on a lot. You could define various controls such as "Slide on line" so would move a shape based on say a fixed offset from the frontage, you could pick sides and it would show the distance form that side to a boundary, it was smarter than just use a point it would move the distance offset depending on the shape of the lot. Sounds like what you want. If you were to make a dynamic block that had all those constraints then you could have say a dcl front end change a value and the shape changes. Its pretty easy to draw that shape based on a rectang, but what if its not rectangular ?
  25. Hi everyone I am looking for a lisp to quick select different objects according to their specific properties in the entire drawing. The objects I am going to select are: 1- Every line that has "start Z" or "End Z" "Not Equal" to zero. 2- All "Text" that have "Position Z" "Not Equal" to zero. 3- All "Block References" that have "Position Z" "Not Equal" to zero. 4- All "Polyline" that have "Elevation" "Not Equal" to zero. Actually, I have so many files in which, Z values are not zero (Z values are about for example 0.000001). It makes the file so difficult to edit. I want to select every object and manually change the Z values to "zero". Also, it would be great if you guys can help me by any other way, to solve my problem and change the whole drawing's Z value to "zero", if possible. If not, it doesn't matter. Help me to write this Lisp, so that the selection of the objects get easier. Below, I attach a simple sample of my file, in which, some block, text, or lines have Z value other than zero. Z Value Problem.dwg
  26. Yesterday
  27. could someone help me with plate two please. I need a general idea of what it should look like and why my footings look so long pleasee
  28. I have been trying to create a lisp which will create a building envelope typical to the attached where offset vary depending on government and /or client requirements. Generally we draw each envelop individually and then copy and adjust where necessary, but I would like to automate the for use in very large concepts. The lot boundaries will generally be a closed polyline this is not necessary. From the attached image and dwg all components B to H are variable and depend on government and client requirements. Component I is variable and subject to variable A which is the lot frontage. If this frontage and less than 14m then component I is a solid line, if over 14m then it is a broken line. Component I is subject to engineering earthworks and would require a selection for which side or line to place that line (Built to Boundary Wall). As stated I would really like to automate the creation of the Building Envelope and all the entered variable are maintained until the lisp is closed. Hope this explains it enough BLE.dwg it would be great f the offsets could be conditioned so that depending on the frontage the lisp would automatically apply the correct offsets. The below is an example of offsets as required by a government. Generally they are not as complex as this table but it gives an idea of what is necessary.
  1. Load more activity
×
×
  • Create New...