Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 09/24/2018 in all areas

  1. Hi guys, i.e: previous codes with formatted BBcode tags became messy & erroneous! example: erroneous code copied from forum (setq [b] [color="blue"] pl [/color][/b]'((10. 50.)(20. 50.)(30. 50.)(40. 50.)(50. 50.))[color="green"]; point list[/color] ss ([color="blue"] ssget [/color] (append ([color="blue"] [b]vl-list*[/b] [/color] '(0 . [color="purple"] "CIRCLE,TEXT,INSERT" [/color] ) [color="green"]; filter [/color] '(-4 . "<OR")(apply 'append (mapcar ''((x) (list '(-4 . [color="purple"] "=,=,*" [/color] ) (cons 10 x))) [b] pl [/b])) ) '((-4 . "OR>")) ) ) ) ) After BB codes removed which contents within the brackets "[" "]". (setq pl '((10. 50.)(20. 50.)(30. 50.)(40. 50.)(50. 50.)); point list ss ( ssget (append ( vl-list* '(0 . "CIRCLE,TEXT,INSERT" ) ; filter '(-4 . "<OR")(apply 'append (mapcar ''((x) (list '(-4 . "=,=,*" ) (cons 10 x))) pl )) ) '((-4 . "OR>")) ) ) ) ) ATM i could only edit for single post using this simple code merely remove contents within the brackets "[" "]". Hope this help? here's is very basic idea with minimal error handling. you can put addition ideas in cond etc.. (defun c:forum (/ cbdata *error* $ fn fi fo l) ; example: [B] hanhphuc [/B] [Color=blue] defun [/color] ;; command: forum or command: BBCU (abbreviation of BBCode Unformat) - hanhphuc ;; babe see you (defun *error* (msg) (if fi (close fi))) ;;;http://www.theswamp.org/index.php?topic=21764.msg263322#msg263322 (defun cbdata (/ cb html) ;optimized hp (setq cb (vl-catch-all-apply 'vlax-invoke (list ((lambda (doc) (foreach x '(parentwindow clipboarddata) (setq doc (vlax-get doc x)) ) ) (setq html (vlax-create-object "htmlfile")) ) 'getdata "text" ) ) ) (vlax-release-object html) (if (not (vl-catch-all-error-p cb) ) cb ) ) (and (setq fn (strcat (getvar 'tempprefix) "tmp.txt") fi (open fn "w") ) (setq $ (cbdata)) (write-line $ fi) (progn (close fi) (setq fi (open fn "r"))) (while (setq $ (read-char fi)) (setq l (cons $ l))) (progn (if fi (close fi) ) (setq fn (strcat (getvar 'tempprefix) "cadtutor.lsp")) (setq fo (open fn "w")) ) (foreach x (vl-remove-if '(lambda ( x )(or (listp x) (> x 191 ))) (read (strcat "(" (apply 'strcat (mapcar '(lambda (x) (strcat (if (numberp x) (cond ((= 91 x) "(") ((= 93 x) ")") (t (itoa x)) ) x ) " " ) ) (reverse l) ) ) ")" ) ) ) (write-char x fo) ) (progn (if fo (close fo) ) (findfile fn) ) (vl-cmdf "_.SHELL" (strcat "CLIP < " fn )) (alert "[BBCode Tags] removed! Try [Ctrl^C] in the forum!") ) (princ) ) (defun c:BBCU () (c:forum)(princ)) Step 1.save the above lisp, save in your valid path. APPLOAD in ACAD active drawing. 2.copy any 'infected' codes from forum 3.load this "forum.lsp" invoke --> command: BBCU or command: forum 4. simply paste it back to forum active editor (for coders - if you wanna to modify your previous code) for user - paste it to notepad etc.. save your file as '*.lsp' extension. e.g: 'cadtutor.lsp' Any ideas for multiple editing? RegEx ? Here's another alternative removing color tags using Notepad++ by Lee Mac
    1 point
  2. @Tharwat I think that @paulo whant to remove item, not part of string: Here are my solutions: Use parse list function from this post And example of use: (pz:LST_Parse '("big23" "large25" "superlarge26" "superlarge-27" "superlarge_28") '(lambda (%) (wcmatch % "superla*")) t ) Or simply use vl-remove-if function (vl-remove-if '(lambda (%) (wcmatch % "superla*")) '("big23" "large25" "superlarge26" "superlarge-27" "superlarge_28") ) EDIT: I notice today my forum rank: Rising Star - I love it
    1 point
  3. Here's a bit different approach using the COPY command and referencing the sources geometry. (defun c:att-snac (/ sn ss sd sp tn td tp ss i ed) (while (not sn) (and (princ "\nSelect 1 SOURCE Insert...") (setq ss (ssget '((0 . "INSERT")(66 . 1)))) (= (sslength ss) 1) (setq sn (ssname ss 0) sd (entget sn) sp (cdr (assoc 10 sd))))) (and (princ "\nSelect TARGET Inserts...") (setq ss (ssget '((0 . "INSERT")(66 . 0)))) (setq i 0) (while (setq tn (ssname ss i)) (setq td (entget tn) tp (cdr (assoc 10 td))) (command "_.COPY" sn "" sp tp) (setq ed (entget (entlast))) (entmod (subst (assoc 2 td) (assoc 2 sd) ed)) (entdel tn) (redraw (entlast)) (setq i (1+ i)))) (prin1))
    1 point
×
×
  • Create New...