Jump to content

Leaderboard

  1. BIGAL

    BIGAL

    Trusted Members


    • Points

      21

    • Content Count

      11,769


  2. Lee Mac

    Lee Mac

    Trusted Members


    • Points

      14

    • Content Count

      20,182


  3. Cad64

    Cad64

    Moderators


    • Points

      9

    • Content Count

      8,030


  4. SLW210

    SLW210

    Moderators


    • Points

      9

    • Content Count

      9,257



Popular Content

Showing content with the highest reputation since 08/19/2019 in all areas

  1. 1 point
    Hello All, The CADTutor website will be moving to a new web host shortly and I thought it best to give you advanced warning. Although the moving of files from one server to another can be done quite quickly, there is always a delay while DNS propagation takes place, so and it's likely that this forum will be closed for around two days (hopefully less) while the migration takes place. The rest of the site will remain available during migration. Other than the temporary closure of the forum, you shouldn't notice any other changes except that (hopefully) the site will appear more responsive. I don't yet have a firm timescale for this but it's likely to take place in the next two weeks. I'll update this thread once I know more details.
  2. 1 point
    Sir, Happy New Year sir, I have a two Lisp program for draw road cross-section and longitudinal section. But this lisp is worked for only limited offsets (Table –I). But I need more offsets as per different site location of offsets, Existing Road Top and Existing FRL level (Table –II). I have no idea to modify this Lisp to number of offsets, so please modify and send email. ****************************************************** xs.lisp (defun c:xs () (mapcar 'setvar '("cmdecho" "osmode" "filedia" "cmddia") '(0 0 0 0)) (COMMAND "LUPREC" 3) (setq zz 0) (setq ff (vl-directory-files "D:/road_csarea_rs" "*.csv")) (while (< zz (length ff)) (setq fx (nth zz ff)) (setq scrpath (strcat "D:/road_csarea_rs/" fx) ) (if (null scrpath) (progn (princ "\n NO SCRIPT-File Selected.") (exit) )) (initget 1) (setq chain 0) (setq fpath (vl-filename-directory scrpath) ) (command "-style" "standard" "ARIAL" 0 1 "" "" "" "") (setq opfile (open scrpath "r") ) (setq rdline (read-line opfile) ) (while rdline (setq xval (atof (txtlist rdline 1)) yval (atof (txtlist rdline 2)) zval (atof (txtlist rdline 3)) ) (setq n 1 chlist (list xval) gllist (list yval) fllist (list zval) agllist (list (list xval yval)) afllist (list (list xval zval)) ) (while (and (<= n 10) (setq rdline (read-line opfile) ) ) (setq ch (list (atof (txtlist rdline 1))) ) (setq gl (list (atof (txtlist rdline 2))) ) (setq fl (list (atof (txtlist rdline 3))) ) (setq q1 (atof (txtlist rdline 1))) (setq q2 (atof (txtlist rdline 2))) (setq q3 (atof (txtlist rdline 3))) (setq g1 (list q1 q2)) (setq t1 (list q1 q3)) (setq chlist (append chlist ch )) (setq gllist (append gllist gl ) ) (setq fllist (append fllist fl) ) (setq agllist (append agllist (list g1) ) ) (setq afllist (append afllist (list t1) ) ) (setq afllistr (reverse afllist)) (setq flistf (append agllist afllistr)) (drawreg flistf) (setq area-pcc (cal-area) ) (setq n (1+ n) ) );end while-2 (setq datum1 (fix(car(vl-sort gllist '<)))) (setq datum (- (min datum1) 3)) (setq maxd1 (fix(car(vl-sort fllist '>)))) (setq maxd (max maxd1)) (setq inspt (list chain datum) ) (command "insert" (strcat "*" fpath "/temg_rs.dwg") inspt "" "") (command "zoom" "e") );end while (setq dt (ssget "x" '((8 . "datum")))) (setq datext (strcat "DATUM" " " ":" " " (RTOS datum) " " "M")) (COMMAND "CHANGE" DT "" "" "" "" "" "" datext) (setq ss datum) (setq a 1) (setq ss1 (+ datum 20)) (while (< ss maxd) (setq txtp (list chain ss1)) (setq txt (rtos (+ datum a))) (command "text" txtp "2" "0" txt) (command "change" (entlast) "" "P" "la" "datumch" "") (setq ss1 (+ ss1 20)) (setq a (+ a 1)) (setq ss (+ ss 1)) );end while (setq dt (ssget "x" '((8 . "datumch")))) (setq txtp2 (list (- chain 10) (cadr txtp))) (command "move" dt "" txtp txtp2 "") (placetxt) (DRAWLINE) (setq fle1 (- (strlen fx) 4)) (setq fin1 (substr fx 1 fle1)) (setq cs1 (ssget "x" '((0 . "text")(8 . "cs")))) (setq cst (strcat "CROSS SECTION" "@" fin1 "Km")) (COMMAND "CHANGE" cs1 "" "" "" "" "" "" cst) (CLOSE opfile) (setq fle (- (strlen scrpath) 4)) (setq fin (substr scrpath 1 fle)) (setq fnm (strcat fin ".dwg")) (command "-wblock" fnm "" "0,0" "all" "" "n") (COMMAND "LUPREC" 3) (setq ptlist nil) (setq ptlistf nil) (setq ptlist1 nil) (setq ptlist2 nil) (setq ptlist3 nil) (setq ptlist4 nil) (setq zz (+ zz 1)) ) (mapcar 'setvar '("cmdecho" "osmode" "filedia" "cmddia") '(1 1 1 1)) ) (defun placetxt() (setq m 0) (repeat (length chlist) (setq m1 (* (nth m chlist) 20) ) (setq cc (nth m chlist) ) (setq gl1 (nth m gllist) ) (setq fl1 (nth m fllist) ) (setq instxt0 (list m1 (- datum 47) )) (setq instxt1 (list m1 (- datum 30) )) (setq instxt2 (list m1 (- datum 13) )) (setq xval (rtos cc)) (setq gl1 (rtos gl1)) (setq fl1 (rtos fl1)) (command "text" "j" "MC" instxt0 2 90 xval) (command "change" (entlast) "" "p" "c" "9" "") (command "text" "j" "MC" instxt1 2 90 gl1) (command "change" (entlast) "" "p" "c" "6" "") (command "text" "j" "MC" instxt2 2 90 fl1) (command "change" (entlast) "" "p" "c" "3" "") (setq m (+ m 1) ) );end repeat (SETQ dTTEXT (SSGET "X" '((8 . "datumch")))) (SETQ de 0) (WHILE (< de (SSLENGTH dTTEXT)) (SETQ ENAMd (SSNAME dTTEXT de)) (SETQ TXT2 (fix(ATOF(CDR(ASSOC 1 (ENTGET ENAMd)))))) (command "luprec" 0) (SETQ TT2 (strcat (RTOS TXT2) " " "---")) (COMMAND "CHANGE" ENAMd "" "" "" "" "" "" TT2) (SETQ de (+ de 1)) ) ) (DEFUN DRAWLINE() (setq c 0) (setq x1s 0) (while (< c (LENGTH gllist)) (setq ent (nth c gllist)) (setq entf (nth c fllist)) (setq y1b datum) (setq y2b (+ (* (- ent datum) 20) y1b)) (setq y2bf (+ (* (- entf datum) 20) y1b)) (setq top (list x1s y2b)) (setq topf (list x1s y2bf)) (setq bot (list x1s y1b)) (command "line" bot top "") (setq c (+ c 1)) (if (< c (length chlist)) (progn (setq x1s (* (nth c chlist) 20) ) ) (progn (setq x1s (* (nth (- c 1) chlist) 20) ) (setq area (strcat "AREA = " (rtos area-pcc 2 3) "Sq.M")) (command "text" "j" "tl" top 5 0 area) (command "change" (entlast) "" "p" "c" "9" "") ) ) (setq ptlist (append ptlist (list top)) ) (setq ptlistf (append ptlistf (list topf)) ) ) (command "pline") (foreach no ptlist (command no)) (command "") (command "change" (entlast) "" "p" "c" "1" "") (command "pline") (foreach no ptlistf (command no)) (command "") (command "change" (entlast) "" "p" "c" "3" "") (SETQ GTEXT (NTH 0 PTLIST)) ) (defun txtlist (txt n) (setq count 1 space 1 result "") (while (and (<= count (strlen txt)) (<= space n)) (setq charchk (substr txt count 1) ) (cond ((= charchk ",") (setq space (+ space 1) ) ) ((= space n) (setq result (strcat result charchk) ) ) );end cond (setq count (+ count 1) ) );end while result );end defun (defun drawreg ( ptlist ) (command "layer" "m" "AREA" "") (command "pline") (foreach pt ptlist (command pt) ) (command "c") (command "region" (entlast) "") (setq enam-rg (entlast) ) );end defun (defun cal-area () (setq regset (ssget "x" '((0 . "REGION") (8 . "AREA"))) ) (if regset (progn (command "area" "obj" (entlast)) (setq getarea (getvar "area") ) (command "erase" regset "") );end progn (setq getarea 0.000) );end if getarea );end defun ****************************************** Thanking you Yours truly, Madhava Rao
  3. 1 point
    This happens to me every once in a while. When it does, I run an AUDIT. It never finds any errors but it clears out whatever is stopping the copy paste from working.
  4. 1 point
    ok work with cel weight ! thanks to all!
  5. 1 point
    YES i need exactly this type of lisp... Thanks
  6. 1 point
  7. 1 point
    It's possible, but not as part of a single ssget expression - you would need to construct a loop such as: (defun c:test ( / s ) (while (and (setq s (ssget '((0 . "CIRCLE,LWPOLYLINE")))) (or (/= 3 (sslength s)) (vl-some '/= '("CIRCLE" "CIRCLE" "LWPOLYLINE") (acad_strlsort (mapcar '(lambda ( i ) (cdr (assoc 0 (entget (ssname s i))))) '(0 1 2))) ) ) ) (princ "\nPlease select two circles and a polyline.") ) (if s (princ "\nThe user selected two circles and a polyline.") (princ "\nThe user cancelled the selection.") ) (princ) )
  8. 1 point
    Like Tharwat are you just hatching multiple plines, doing an inside parallel pline. or other options. What I am suggesting is the options may all be done already in lisp. Ssget has multiple select filters that you can use and can be multiple of, such as layer, all or all in a particular space model / layout.
  9. 1 point
    Did you try DIM BASE Must have 1 dim existing, dim style needed as well.
  10. 1 point
    Well, there is your answer and pretty much what I was suspecting. When AutoCAD LT 2012 came out, Windows 10 was not released, I believe AutoCAD 2015 was the first that was supported. IIRC, you will need to adjust your screen resolution and probably a few more things to address in Windows 10, maybe using DirectX 9 instead of the latest DirectX on Windows 10. There is a chance a different Graphics Driver might help. You would be best searching on the Windows 10 Forums. The biggest problem will be future updates of Windows 10, they tend to do strange things to older programs in my experience, I reinstalled Windows 7 on one of my computers because of that. You might look into Longbow software or getting a newer AutoCAD or AutoCAD substitute like Draftsight or BricsCAD.
  11. 1 point
    Unless you are already working with AutoCad or taking classes, go with a generic one and modify it to suit your current needs AutoCad is hard enough without that extra load. Besides, you need to know how to make lines, rectangles, text, Mtext, ... etc. before you can make a template. Templates are not that hard. You just need to know what size paper you are using, and how to make the text and lines you need. An employer, or a class structure will either show you their proprietary template, or teach you how to make one.
  12. 1 point
    What line of work are you in? I'd suggest creating your own template file with all the settings, linetypes, text, dimension, multileader styles, etc. that will support what you do. Yes, it will take some time and effort. However, the investment, over time, will pay off.
  13. 1 point
    Yeah, I've never done a right click install either, and I have installed tons of programs over the years, on many different computers, on many different OS's. Just lucky I guess.
  14. 1 point
    What I thought as well RK, thanks. I can't remember when I haven't had full admin rights on a box.
  15. 1 point
    As long as I'm logged in using an account with local admin access, it works fine with normal execution.
  16. 1 point
    Hi All. The current plan is for the sever move to take place on Tuesday, 27th August. The forum will close on Monday evening/early Thursday (depending on wher eyou are in the world) and remain closed for approximately 12 hours. However, some of you may experience a longer downtime depending on how long the DNS changes take. Effectively, the forum will remain closed on the old server and will be opened on the new server as soon as everything has been checked, so you will see the open forum once your local DNS changes have taken place. I'll update this thread with any further information closer to the move.
  17. 1 point
    I think its an example need to read always override dimension value. For me and lots here its a no no to draw 1 line incorrect length without a zigzag break symbol if space is a problem, eg segments 1, 2400, 2, 4 -----^>-----
  18. 1 point
    You can use my existing Quick Field program for this task, defining a custom command such as: (defun c:tcopy ( ) (LM:quickfield "Textstring" "" 1))
  19. 1 point
    Unbelievable!!! I want to thank you very much Tharwat and Emmanuel for you contribution, you just have no idea how much time and effort this will save me next week and going into the future! You guys are awesome and so darn smart!!! They both work great and does exactly what I want it to do. Consider this thread closed. Thank you very much again, David
  20. 1 point
    Hi, This should be more than enough I believe. (defun c:Stamp ( / sel int ent obj) ;; Tharwat - Date: 20.Aug.2019 ;; (and (setq int -1 sel (ssget "_X" '((0 . "INSERT") (66 . 1)))) (while (setq int (1+ int) ent (ssname sel int)) (and (= (vla-get-EffectiveName (setq obj (vlax-ename->vla-object ent))) "Dynamic Stamp") (vl-some '(lambda (x) (if (= (vla-get-propertyname x) "Visibility1") (progn (vlax-put x 'Value "IFC") t))) (vlax-invoke obj 'getdynamicBlockproperties)) (foreach att (vlax-invoke obj 'getattributes) (and (= (vla-get-tagstring att) "DATE") (vla-put-textstring att "20/08/19")) ) ) ) ) (princ) ) (vl-load-com)
  21. 1 point
    Thanks but 2 thing missing 1. serial number not comes 2. we are not getting edit dimensions text value. see attached image
  22. 1 point
    @dlanorh Thank you it worked !!!
  23. 1 point
    Emmanuel, you are awesome. It works like a charm! Could a line be added to code to include date? I'm sorry for being picky but it would eliminate me using Lee's bfind. If it's to much trouble, please don't worry at all. Thank you much!!!
  24. 1 point
    Okay, like this Command SDSV, for Set Dynamic Stamp Value (bottom function) It will change all the stamps in the dwg. Perhaps you have a stamp on each Layout, but you're currently on model space. Regardless, it will change all. (vl-load-com) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; GET ;; Get Dynamic Block Property Value - Lee Mac ;; Returns the value of a Dynamic Block property (if present) ;; blk - [vla] VLA Dynamic Block Reference object ;; prp - [str] Dynamic Block property name (case-insensitive) (defun LM:getdynpropvalue ( blk prp ) (setq prp (strcase prp)) (vl-some '(lambda ( x ) (if (= prp (strcase (vla-get-propertyname x))) (vlax-get x 'value))) (vlax-invoke blk 'getdynamicblockproperties) ) ) ;; Get Dynamic Block Property Allowed Values - Lee Mac ;; Returns the allowed values for a specific Dynamic Block property. ;; blk - [vla] VLA Dynamic Block Reference object ;; prp - [str] Dynamic Block property name (case-insensitive) ;; Returns: [lst] List of allowed values for property, else nil if no restrictions (defun LM:getdynpropallowedvalues ( blk prp ) (setq prp (strcase prp)) (vl-some '(lambda ( x ) (if (= prp (strcase (vla-get-propertyname x))) (vlax-get x 'allowedvalues))) (vlax-invoke blk 'getdynamicblockproperties) ) ) ;; Get Visibility Parameter Name - Lee Mac ;; Returns the name of the Visibility Parameter of a Dynamic Block (if present) ;; blk - [vla] VLA Dynamic Block Reference object ;; Returns: [str] Name of Visibility Parameter, else nil (defun LM:getvisibilityparametername ( blk / vis ) (if (and (vlax-property-available-p blk 'effectivename) (setq blk (vla-item (vla-get-blocks (vla-get-document blk)) (vla-get-effectivename blk) ) ) (= :vlax-true (vla-get-isdynamicblock blk)) (= :vlax-true (vla-get-hasextensiondictionary blk)) (setq vis (vl-some '(lambda ( pair ) (if (and (= 360 (car pair)) (= "BLOCKVISIBILITYPARAMETER" (cdr (assoc 0 (entget (cdr pair))))) ) (cdr pair) ) ) (dictsearch (vlax-vla-object->ename (vla-getextensiondictionary blk)) "ACAD_ENHANCEDBLOCK" ) ) ) ) (cdr (assoc 301 (entget vis))) ) ) ;; Get Dynamic Block Visibility State - Lee Mac ;; Returns the value of the Visibility Parameter of a Dynamic Block (if present) ;; blk - [vla] VLA Dynamic Block Reference object ;; Returns: [str] Value of Visibility Parameter, else nil (defun LM:getvisibilitystate ( blk / vis ) (if (setq vis (LM:getvisibilityparametername blk)) (LM:getdynpropvalue blk vis) ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; SET ;; Set Dynamic Block Visibility State - Lee Mac ;; Sets the Visibility Parameter of a Dynamic Block (if present) to a specific value (if allowed) ;; blk - [vla] VLA Dynamic Block Reference object ;; val - [str] Visibility State Parameter value ;; Returns: [str] New value of Visibility Parameter, else nil (defun LM:SetVisibilityState ( blk val / vis ) (if (and (setq vis (LM:getvisibilityparametername blk)) (member (strcase val) (mapcar 'strcase (LM:getdynpropallowedvalues blk vis))) ) (LM:setdynpropvalue blk vis val) ) ) ;; Set Dynamic Block Property Value - Lee Mac ;; Modifies the value of a Dynamic Block property (if present) ;; blk - [vla] VLA Dynamic Block Reference object ;; prp - [str] Dynamic Block property name (case-insensitive) ;; val - [any] New value for property ;; Returns: [any] New value if successful, else nil (defun LM:setdynpropvalue ( blk prp val ) (setq prp (strcase prp)) (vl-some '(lambda ( x ) (if (= prp (strcase (vla-get-propertyname x))) (progn (vla-put-value x (vlax-make-variant val (vlax-variant-type (vla-get-value x)))) (cond (val) (t)) ) ) ) (vlax-invoke blk 'getdynamicblockproperties) ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Effective Block Name - Lee Mac ;; obj - [vla] VLA Block Reference object (defun LM:effectivename ( obj ) (vlax-get-property obj (if (vlax-property-available-p obj 'effectivename) 'effectivename 'name ) ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Set Dynamic Stamp Value (defun c:sdsv ( / ss blockname val i obj) ;; settings (setq blockname "Dynamic Stamp") (setq val "IFC") (setq ss (ssget "_X" (list '(0 . "INSERT") ))) ;; selection of all blocks on the dwg, even if you're not on the right layout (model/paper) (setq i 0) (repeat (sslength ss) (setq obj (vlax-ename->vla-object (ssname ss i))) (if (= blockname (LM:effectivename obj)) ;; for dynamic blocks you need to know the effective name, (assoc 2 entity) doesn't get you what you need (LM:SetVisibilityState obj val) ) (setq i (+ i 1)) ) (princ) )
  25. 1 point
  26. 1 point
    I respectfully disagree. It is an exact solution. Centering a circle of R2.38 (blue) anywhere on the circumference of the R2.32 circle (yellow) will position the circle tangent to the R0.06 circle. I agree that since B is above the center of the R0.06 circle the tangent point will be below its center (consistent with my post). Why did you mention quadrant?
  27. 1 point
    No problems. I am of the opinion that everyone should have a choice. Who understands Lisp - can use it. Who does not understand Lisp or needs a convenient interface - use the program. But users need to understand - if they want improvements, they want very big requirements, then it takes a lot of time, and then it will be for an additional fee.
  28. 1 point
    I may be wrong but I think you can do it using dim and base command. Not a dim style that I use very often.
  29. 1 point
    may this lsp will help you long_section_3dp.lsp
  30. 1 point
    Started to play with dims and the obvious is that a point number must be added, to what ever is picked. This is common for me a road set out plan. Yeah still not sure why ? Thinking more there is do object code out there so why bother with dims just do. pline1, len1 pline1, len2 pline1, len3 pline2, len1 pline2, len2
  31. 1 point
    I checked your drawing and although it looks like the splines are snapped together and at the same elevation, apparently they are not. I grabbed one of the splines by the endpoint and snapped it to the other spline. Then I ran the JOIN command and they became one. Give it a try.
  32. 1 point
    If you pay some one you will get everything you want, how many posts are you out to now trying to do civil engineering functions like surface models, road cross and long sections what is next where is designing a road vertical curves. Troll the internet it is out there or buy a commercial package there is other than CIV3D and a lot cheaper. Go to Autodesk Apps and have a look.
  33. 1 point
    As a surveyor you may have rules about what font to use I know that here in AUS stuff like how a 4 looks, degree symbol, decimal point, are a couple that will reject a plan at the surveyors board, so find a TTF that reflects the standard required as close as you can get.
  34. 1 point
    No. Nothing works unless the form is hidden as @rkmcswain alluded to above. The "form" is Modal. Nothing will work until it hidden or ended. Are you collecting the exit state from the dialog, as you're using (done_dialog 1). I collect it by using (setq x_val (start_dialog)) Then change (action_tile "bt01" "(Inblk \"D_Poste\"\"9/300\" nil ) (done_dialog 1)") to (action_tile "bt01" "(done_dialog 1)") and after unloading the dialog (cond ( (= x_val 1) (Inblk "D_Poste" "9/300" ""))) You cannot set an attribute 'TEXTSTRING value to nil, it will error so you send it the null string "" If you are doing several block you can store the values in strings eg (action_tile "bt01" "(progn (setq blk \"D_Poste\" t1 \"9/300\" t2 "") (done_dialog 1))") Then (cond ( (= x_val 1) (Inblk blk t1 t2)))
  35. 1 point
    Yes. You can't do this. See also: http://help.autodesk.com/view/ACD/2020/ENU/?guid=GUID-EA46DBF6-227F-409E-ABBB-DFC8CCE2C82F If you need the user to interact with the dialog further, then hide it, then restore it. Otherwise, close the dialog before trying to do any commands, as described in the link above.
  36. 1 point
    Unfortunately, they are blocked here as blog/social networking sites. The one on the calculator works just fine for me.
  37. 1 point
    The calculator that comes with Windows has a converter, too.
  38. 1 point
    If you want the actual height of the text in the drawing use the TEXTBOX function. A string with the same height like "1234" will not be the same physical height as "{1234,". Try it (if (setq e (car (entsel "\nPick text: "))) (print (abs (apply '- (mapcar 'cadr (textbox (entget e)))))) )
  39. 1 point
    In general: Flatten List
  40. 1 point
    You can use Lee's list box.lsp to make a list of the layers so you can pick the layer from a list. Some one has probably done this did you goggle.
  41. 1 point
    Welcome to your new home at CADTutor! I do hope you'll like the new forum software we're using, it provides a raft of new, modern tools that we didn't have before and it brings our community right up-to-date in terms of web apps. You'll find quite a lot of changes but the content and the members are all the same. I've also tried hard to make it look familiar, using the same style as our old home. Do take some time to look around and see what's on offer. If you have any questions about the change or if you spot anything odd, just let me know. The migration process is fearfully complicated and it's possible that some small tweaks may still be required, so don't assume everything is perfect. Things to bear in mind POST COUNT: Long-time members (those who have been here for more than 10 years) may find that their post count has gone down. The reason for this is that all content more than 10 years old has been archived. There are two reasons for this; first, it helps to make the forum run more smoothly with legacy content removed and second, it seemed unlikely that anything more than 10 years old was still relevant. PROFILE PHOTO: You'll notice that this software makes more use of your profile photo than the previous one. You'll also notice that the new profile photos are circular, in common with contemporary social media platforms. I'd encourage you to update your profile photo to reflect these changes. Simply go to your profile page and upload a new photo (250px X 250px) and you're good to go. LEADERBOARD: Some content and statistics will take a little while to generate, so if you go to the Leaderboard (for example) and see nothing there, that's just because the new forum is still collecting data. Those areas will be populated in a short while. FAQs: The FAQs in this forum were originally written for vBulletin software and are obviously now out-of-date. In time, these will be updated but I'm confident that the new software, Invision Community, is sufficiently intuitive that they may not be required at all. Thanks for your support, David
  42. 1 point
    Yep, the hosting team have been working on this in the last few hours and it's feeling much better. Still some improvements yet to come
  43. 1 point
    (defun average ( lst ) (mapcar '(lambda ( x ) (/ x (length lst))) (apply 'mapcar (cons '+ lst))) ) (average '((0.0 1.0 2.0 3.0) (1.0 2.0 3.0 4.0) (2.0 3.0 4.0 5.0) (3.0 4.0 5.0 6.0))) ;; => (1.5 2.5 3.5 4.5)
  44. 1 point
    (defun c:diago ( / CC CNTR ENTX I IT LINEPR PL_OBJ PT_LST PT_LST_CNT SSPX) (setq sspx (ssget (list '(0 . "*POLYLINE")))) (setq i -1) (repeat (sslength sspx) (setq pt_lst nil) (setq it (ssname sspx (setq i (1+ i)))) (setq entx (entget it)) (setq linepr '()) (if (cdr (assoc 6 entx)) (setq linepr (cons (cons 6 (cdr (assoc 6 entx))) linepr))) (if (cdr (assoc 8 entx)) (setq linepr (cons (cons 8 (cdr (assoc 8 entx))) linepr))) (if (cdr (assoc 43 entx)) (setq linepr (cons (cons 43 (cdr (assoc 43 entx))) linepr))) (if (cdr (assoc 62 entx)) (setq linepr (cons (cons 62 (cdr (assoc 62 entx))) linepr))) (setq pl_obj (vlax-ename->vla-object it) cc (vla-get-Coordinates pl_obj)) (setq pt_lst_cnt (/ (length (vlax-safearray->list (vlax-variant-value cc) ) ) 2 ) ) (setq cntr 0) (repeat pt_lst_cnt (setq pt_lst (cons (append (vlax-safearray->list (vlax-variant-value (vla-get-Coordinate pl_obj cntr)) ) (list 0)) pt_lst ) cntr (1+ cntr) ) ) (if (> (length pt_lst) 3) (progn (LWPoly (list (nth 0 pt_lst)(nth 2 pt_lst)) linepr) (LWPoly (list (nth 1 pt_lst)(nth 3 pt_lst)) linepr) ) ) );repeat ) ;;;;; By Lee MAC (defun LWPoly (lst lprx) (setq ll (list (cons 0 "LWPOLYLINE") (cons 100 "AcDbEntity") (cons 100 "AcDbPolyline") (cons 90 (length lst)) )) (setq all (append ll lprx )) (entmakex (append all (mapcar (function (lambda (p) (cons 10 p))) lst))) )
  45. 1 point
    https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/fit-arc-lisp-not-working-in-2017/m-p/7403604/highlight/true#M359164 HTH., M.R.
  46. 1 point
    I believe the command-line will automatically truncate empty lines - to avoid this, a simple workaround is to print a non-printable character (such as Esc) so that the line will appear blank but won't be truncated, e.g. (progn (princ "\n\033\n\033\nConversion Complete.") (princ))
  47. 1 point
    hi,madavaravo.............. please send to me lisp program for road x section........i am working as a draughtsman it will help for my job...............my ID:shakappil@gmail.com
  48. 1 point
    Can you post the csv files from the folder "D:/road_csarea_rs/"? It looks like this is where the information is contained. With out it we can not help you.
  49. 1 point
    It appears that there is a set csv file located in directory labeled "D:/road_csarea_rs/" that the lisp file reads from. You should be able to modify them directly. Brian
  50. -1 points
    No security warnings here using Google Chrome.
  • Newsletter

    Want to keep up to date with all our latest news and information?
    Sign Up
×
×
  • Create New...