Lee Mac Posted June 19, 2009 Share Posted June 19, 2009 Oh speaking of which is there a good post on (cons -4) ? AfraLISP has a great section on it: http://www.afralisp.net/lisp/filter.htm Quote Link to comment Share on other sites More sharing options...
Lee Mac Posted June 19, 2009 Share Posted June 19, 2009 Lee if yours was to put the values of several line types into a table it would be absolutly perfect i would imagine a lot of people would be able to use this to save a lot of time. Now that's something I'm new to... having worked on '04 pretty much the whole time, I have never coded for a table in CAD... but I'll see what it entails.. Quote Link to comment Share on other sites More sharing options...
Lee Mac Posted June 19, 2009 Share Posted June 19, 2009 LeeMac - thanks a bunch, however i only get a message saying: > there are def. continuous lines in the drawing, and i tried this with my custom linetype as well with no luck One more thing - just to clarify, are we definitely dealing with ALL *LINES - i.e. POLYLINES, LWPOLYLINES and LINES? Quote Link to comment Share on other sites More sharing options...
RyanAtNelco Posted June 19, 2009 Author Share Posted June 19, 2009 Yes that would be ideal. Also i know this is probably difficult to code, but in the perfect world: run script select/type-in several line types table generated showing each linetype's length in units, length in (units/12), and length in (units/48) Quote Link to comment Share on other sites More sharing options...
RyanAtNelco Posted June 19, 2009 Author Share Posted June 19, 2009 that last bit was supposed to be (units/ 48 ) Quote Link to comment Share on other sites More sharing options...
CAB Posted June 19, 2009 Share Posted June 19, 2009 Late entry. ;;============================================================= ;; LtLength.lsp by Charles Alan Butler ;; Copyright 2008 ;; by Precision Drafting & Design All Rights Reserved. ;; Contact CAB at TheSwamp.org ;; ;; Version 1.0 Beta April 4,2008 ;; ;; Total Length by linetype ;; Totals length with ByLayer & layer has matching linetype ;;============================================================= (defun c:LTLength (/ ent col Ltype Ltypes layers ss lt:lst lt:prompt ss:first elst filter lay:lst x ent:lst total cnt get_layer get_layerByLT) (vl-load-com) ;; return a list of layers using the linetype in the list ;; lt:lst is a list of LineType names (defun get_layerByLT (lt:lst / lay lays doc) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vlax-for lay (vla-get-layers doc) (if (and (member (vla-get-linetype lay) lt:lst) (not (vl-string-search "|" (vla-get-name lay))) ) (setq lays (cons (vla-get-name lay) lays)) ) ) lays ) ;; ================================================================= ;; Main Routine ;; ================================================================= (setq ent_allowed '("LINE" "LWPOLYLINE" "POLYLINE" "SPLINE" "ARC" "CIRCLE" "DIMENSION")) ;; get anything already selected (setq ss:first (cadr(ssgetfirst)) ss (ssadd)) ;; Get user selected linetypes (if ss:first (setq lt:prompt "\nSelect the object to choose linetype to use.") (setq lt:prompt "\nSelect object for linetype filter.") ) ;;------------------------------------------------------------------ (while (setq ent (entsel lt:prompt)) (redraw (car ent) 3) ; highlite the object (setq ent:lst (cons (car ent) ent:lst)) (setq Ltype(cdr(assoc 6 (entget (car ent))))); get the lineType (if (null Ltype) ; LT is ByLayer, get layer LT (setq Ltype(cdr (assoc 6 (tblsearch "layer" (cdr (assoc 8 (entget (car ent)))))))) ) (setq lt:lst (cons Ltype lt:lst)) ;;(prompt (strcat "\n*-* Selected Color # -> " (get_color_name col))) ) ;;------------------------------------------------------------------ ;; Un HighLite the entities (and ent:lst (mapcar '(lambda (x) (redraw x 4)) ent:lst)) (if (> (length lt:lst) 0); got LT to work with (progn (setq lt:lst (vl-sort lt:lst '<)) ; removes douplicates (setq Ltypes "" layers "") (setq lay:lst (get_layerByLT lt:lst)) ; get layers using the LineType (foreach itm lt:lst ; combine linetype names into one , del string (setq Ltypes (strcat Ltypes itm ","))) (setq Ltypes (substr Ltypes 1 (1- (strlen Ltypes)))); remove the last , (foreach itm lay:lst ; combine layer names into one , del string (setq layers (strcat layers itm ","))) (setq layers (substr layers 1 (1- (strlen layers)))); remove the last , ;;============================================================== (if ss:first ; ALREADY GOT SELECTION SET (while (setq ent (ssname ss:first 0)) (setq elst (entget ent)) (if (or (and (assoc 6 elst) ; got a LT (member (abs (cdr(assoc 6 elst))) lt:lst)) ; LT match (and layers (member (cdr(assoc 8 elst)) lay:lst) (or (null (assoc 6 elst)) (= (cdr(assoc 62 elst)) 256))) ; bylayer ) (ssadd (ssname ss:first 0) ss) ) (ssdel (ssname ss:first 0) ss:first) ) ;; else get a selection set to work with (progn (prompt (strcat "\nOK >>--> Select objects for Selection set or " "ENTER for All objects with LineType(s) " Ltypes)) ;; create the filter (if layers (setq filter (append (cons '(-4 . "<OR") (mapcar '(lambda (x) (cons 6 x)) lt:lst)) (list '(-4 . "<AND") (cons 8 layers) '(62 . 256) ; ByLayer '(-4 . "AND>") '(-4 . "OR>") ))) (setq filter (list (cons 6 Ltypes))) ) ;; get objects using filter with user select (if (null (setq ss (ssget filter))) ;; or get ALL objects using filter (setq ss (ssget "_X" filter)) ) ) ) ;;============================================================== (if (> (sslength ss) 0) (progn ;; convert selection set to list of vla objects (setq lst (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))) (setq total 0 cnt 0) (foreach en lst (setq len nil) (if (member (setq typ (cdr (assoc 0 (entget en)))) ent_allowed) (progn (setq obj (vlax-ename->vla-object en)) (cond ((vlax-property-available-p obj 'Measurement) (setq len (vla-get-measurement obj)) ) ((vlax-property-available-p obj 'Length) (setq len (vla-get-length obj)) ) ((setq len (vl-catch-all-apply '(lambda()(vlax-curve-getdistatparam en (vlax-curve-getendparam en))))) (and (vl-catch-all-error-p len)(setq len nil)) ) ) (if len (setq total (+ len total) cnt (1+ cnt)) ) ) ; progn ) ) (if (zerop total) (princ "\nNo length found.") (princ (strcat "\nTotal Length of " (itoa cnt) " objects is " (rtos total))) ) ;;(sssetfirst nil ss) ) (prompt "\n*** Nothing Selected ***") ) ) ) (princ) ) (prompt "\nLinetype Length loaded, Enter LtLength to run.") (princ) Quote Link to comment Share on other sites More sharing options...
Lee Mac Posted June 19, 2009 Share Posted June 19, 2009 Hopefully with Table! ;; Linetype Length by Lee McDonnell 19.06.2009 ;; (contact Lee Mac @ CADTutor.net, TheSwamp.org) (defun c:ltlen (/ laystr doc spc l ltlst tdef laystr laylst ss Objlst len lenlst i tblObj) (vl-load-com) (setq laystr "" i 2) (setq doc (vla-get-ActiveDocument (vlax-get-Acad-Object)) spc (if (zerop (vla-get-activespace doc)) (if (= (vla-get-mspace doc) :vlax-true) ; Vport (vla-get-modelspace doc) (vla-get-paperspace doc)) (vla-get-modelspace doc))) (while (setq l (tblnext "LTYPE" (not l))) (setq ltlst (cons (cdr (assoc 2 l)) ltlst))) (if (verChk) (if (setq bPt (getpoint "\nSelect Point for Table: ")) (progn (foreach lt (mapcar 'strcase (reverse ltlst)) (while (setq tdef (tblnext "LAYER" (not tdef))) (if (eq lt (strcase (cdr (assoc 6 tdef)))) (setq laystr (strcat (cdr (assoc 2 tdef)) (chr 44) laystr) laylst (cons (cdr (assoc 2 tdef)) laylst)))) (setq laystr (vl-string-right-trim (chr 44) laystr)) (if (and (setq ss (ssget "_X" (list (cons 0 "*LINE") (cons -4 "<OR") (cons 6 lt) (cons 8 laystr) (cons -4 "OR>")))) (setq Objlst (vl-remove-if (function (lambda (x) (and (vl-position (cdr (assoc 8 (entget x))) laylst) (assoc 6 (entget x))))) (mapcar 'cadr (ssnamex ss))))) (progn (setq len (apply '+ (mapcar (function (lambda (x) (vla-get-Length x))) (mapcar 'vlax-ename->vla-object Objlst)))) (setq lenlst (cons (list lt (/ len 12.) (/ len 48.)) lenlst))) (princ (strcat "\n<< No Lines Found With Linetype " lt " >>"))) (setq tdef nil laystr "" laylst nil)) (if lenlst (progn (setq tblObj (vla-addTable spc (vlax-3D-point bPt) (+ 2 (length lenlst)) 3 (* 1.5 (getvar "TEXTSIZE")) (* (apply 'max (mapcar 'strlen (mapcar 'car lenlst))) 1.5 (getvar "TEXTSIZE")))) (vla-setText tblObj 0 0 "{\\fCopperplate Gothic Light|b1|i0|c0|p34;\\C3;Linetype Lengths}") (vla-setText tblObj 1 0 "{\\fCopperplate Gothic Light|b1|i1|c0|p34;\\C16;Name}") (vla-setText tblObj 1 1 "{\\fCopperplate Gothic Light|b1|i1|c0|p34;\\C16;x/12}") (vla-setText tblObj 1 2 "{\\fCopperplate Gothic Light|b1|i1|c0|p34;\\C16;x/48}") (foreach x (reverse lenlst) (vla-setCellAlignment tblObj i 0 acMiddleCenter) (vla-setText tblObj i 0 (car x)) (vla-setCellAlignment tblObj i 1 acMiddleCenter) (vla-setText tblObj i 1 (rtos (cadr x) 2 2)) (vla-setCellAlignment tblObj i 2 acMiddleCenter) (vla-setText tblObj i 2 (rtos (caddr x) 2 2)) (setq i (1+ i)))))) (princ "\n<< No Base Point Specified >>")) (princ "\n<< No Table Object in this Version >>")) (princ)) (defun verchk () (if (>= (distof (substr (getvar "ACADVER") 1 4)) 17) T nil)) Quote Link to comment Share on other sites More sharing options...
Commandobill Posted June 20, 2009 Share Posted June 20, 2009 the -4 code in the ss filter is not really that hard to grasp tbh, even you should be able to get it Bill Lol your pretty funny for being from England. *Disclamer - Any views or opinions presented in this post are solely those of the Commandobill and do not necessarily represent those of the United States. Seriously though it was just a joke. Quote Link to comment Share on other sites More sharing options...
Commandobill Posted June 20, 2009 Share Posted June 20, 2009 AfraLISP has a great section on it: http://www.afralisp.net/lisp/filter.htm Thank you Ill have to look into it. Currently i have a medical condition called a hangover that is keeping my ambition to do any coding at a minimal. :wink: Quote Link to comment Share on other sites More sharing options...
Lee Mac Posted June 20, 2009 Share Posted June 20, 2009 Lol your pretty funny for being from England. *Disclamer - Any views or opinions presented in this post are solely those of the Commandobill and do not necessarily represent those of the United States. Seriously though it was just a joke. Hahaha Quote Link to comment Share on other sites More sharing options...
RyanAtNelco Posted June 22, 2009 Author Share Posted June 22, 2009 Lee, I am using your code to try to figure out how this table thing works. If i wanted to add a column to the table for the category "x/1" (or just "x"), what section of code would i want to be looking at? Thanks! ps The script does work awesome!!!! Is there a way to choose which layers get put into the table? Quote Link to comment Share on other sites More sharing options...
Lee Mac Posted June 22, 2009 Share Posted June 22, 2009 Lee, I am using your code to try to figure out how this table thing works. If i wanted to add a column to the table for the category "x/1" (or just "x"), what section of code would i want to be looking at? Thanks! ps The script does work awesome!!!! Is there a way to choose which layers get put into the table? Glad you like it Ryan, I shall add an extra column to the code for you - as it may not be too simple. As for the selection of layers - do you mean linetypes? And would you want to type in which you want to have in the table? Quote Link to comment Share on other sites More sharing options...
RyanAtNelco Posted June 22, 2009 Author Share Posted June 22, 2009 lee, I did mean linetypes haha (i just got to work im still half asleep ). Typing in the linetypes would be perfect. Thanks! Quote Link to comment Share on other sites More sharing options...
Lee Mac Posted June 22, 2009 Share Posted June 22, 2009 The following is with the extra Column, I shall work on Linetype Selection ;; Linetype Length by Lee McDonnell 19.06.2009 ;; (contact Lee Mac @ CADTutor.net, TheSwamp.org) (defun c:ltlen (/ laystr doc spc l ltlst tdef laystr laylst ss Objlst len lenlst i tblObj) (vl-load-com) (setq laystr "" i 2) (setq doc (vla-get-ActiveDocument (vlax-get-Acad-Object)) spc (if (zerop (vla-get-activespace doc)) (if (= (vla-get-mspace doc) :vlax-true) ; Vport (vla-get-modelspace doc) (vla-get-paperspace doc)) (vla-get-modelspace doc))) (while (setq l (tblnext "LTYPE" (not l))) (setq ltlst (cons (cdr (assoc 2 l)) ltlst))) (if (verChk) (if (setq bPt (getpoint "\nSelect Point for Table: ")) (progn (foreach lt (mapcar 'strcase (reverse ltlst)) (while (setq tdef (tblnext "LAYER" (not tdef))) (if (eq lt (strcase (cdr (assoc 6 tdef)))) (setq laystr (strcat (cdr (assoc 2 tdef)) (chr 44) laystr) laylst (cons (cdr (assoc 2 tdef)) laylst)))) (setq laystr (vl-string-right-trim (chr 44) laystr)) (if (and (setq ss (ssget "_X" (list (cons 0 "*LINE") (cons -4 "<OR") (cons 6 lt) (cons 8 laystr) (cons -4 "OR>")))) (setq Objlst (vl-remove-if (function (lambda (x) (and (vl-position (cdr (assoc 8 (entget x))) laylst) (assoc 6 (entget x))))) (mapcar 'cadr (ssnamex ss))))) (progn (setq len (apply '+ (mapcar (function (lambda (x) (vla-get-Length x))) (mapcar 'vlax-ename->vla-object Objlst)))) (setq lenlst (cons (list lt len (/ len 12.) (/ len 48.)) lenlst))) (princ (strcat "\n<< No Lines Found With Linetype " lt " >>"))) (setq tdef nil laystr "" laylst nil)) (if lenlst (progn (setq tblObj (vla-addTable spc (vlax-3D-point bPt) (+ 2 (length lenlst)) 4 (* 1.5 (getvar "TEXTSIZE")) (* (apply 'max (mapcar 'strlen (mapcar 'car lenlst))) 1.5 (getvar "TEXTSIZE")))) (vla-setText tblObj 0 0 "{\\fCopperplate Gothic Light|b1|i0|c0|p34;\\C3;Linetype Lengths}") (vla-setText tblObj 1 0 "{\\fCopperplate Gothic Light|b1|i1|c0|p34;\\C16;Name}") (vla-setText tblObj 1 1 "{\\fCopperplate Gothic Light|b1|i1|c0|p34;\\C16;x}") (vla-setText tblObj 1 2 "{\\fCopperplate Gothic Light|b1|i1|c0|p34;\\C16;x/12}") (vla-setText tblObj 1 3 "{\\fCopperplate Gothic Light|b1|i1|c0|p34;\\C16;x/48}") (foreach x (reverse lenlst) (vla-setCellAlignment tblObj i 0 acMiddleCenter) (vla-setText tblObj i 0 (car x)) (vla-setCellAlignment tblObj i 1 acMiddleCenter) (vla-setText tblObj i 1 (rtos (cadr x) 2 2)) (vla-setCellAlignment tblObj i 2 acMiddleCenter) (vla-setText tblObj i 2 (rtos (caddr x) 2 2)) (vla-setCellAlignment tblObj i 3 acMiddleCenter) (vla-setText tblObj i 3 (rtos (cadddr x) 2 2)) (setq i (1+ i)))))) (princ "\n<< No Base Point Specified >>")) (princ "\n<< No Table Object in this Version >>")) (princ)) (defun verchk () (if (>= (distof (substr (getvar "ACADVER") 1 4)) 17) T nil)) Quote Link to comment Share on other sites More sharing options...
RyanAtNelco Posted June 22, 2009 Author Share Posted June 22, 2009 Good lord you are fast man. Quote Link to comment Share on other sites More sharing options...
Lee Mac Posted June 22, 2009 Share Posted June 22, 2009 Good lord you are fast man. I try.. Quote Link to comment Share on other sites More sharing options...
Commandobill Posted June 22, 2009 Share Posted June 22, 2009 I try.. I hope you try this hard at school Quote Link to comment Share on other sites More sharing options...
Lee Mac Posted June 22, 2009 Share Posted June 22, 2009 Ok Ryan, I have spent a bit of time dabbling with the way you can add the linetypes. Its slightly different from the usual - let me know if you get any bugs ;; Linetype Length by Lee McDonnell 22.06.2009 ;; (contact Lee Mac @ CADTutor.net, TheSwamp.org) (defun c:ltlen (/ *error* laystr doc spc l ltlst tdef laystr laylst ss Objlst len lenlst i tblObj vChk lt ent) (vl-load-com) (setq laystr "" i 2) (setq doc (vla-get-ActiveDocument (vlax-get-Acad-Object)) spc (if (zerop (vla-get-activespace doc)) (if (= (vla-get-mspace doc) :vlax-true) ; Vport (vla-get-modelspace doc) (vla-get-paperspace doc)) (vla-get-modelspace doc))) (defun *error* (msg) (if (not (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")) (princ (strcat "\n<< Error: " msg " >>"))) (princ)) (if (not (>= (distof (substr (getvar "ACADVER") 1 4)) 17)) (progn (princ "\n<< Table Object Not Available in this Version >>") (exit))) (if (eq 4 (logand 4 (cdr (assoc 70 (tblsearch "LAYER" (getvar "CLAYER")))))) (progn (princ "\n<< Current Layer Locked >>") (exit))) (while (progn (initget 128 "Select List All Done") (setq lt (getkword "\nSpecify Linetype to List [select/List/All] <Done>: ")) (cond ((not lt) nil) ; Enter ((eq "Done" lt) nil) ((eq "Select" lt) (if (setq ent (car (nentsel "\nSelect Object: "))) (progn (setq lt (strcase (vla-get-linetype (setq Obj (vlax-ename->vla-object ent))))) (cond ((eq lt "BYLAYER") (if (vl-catch-all-error-p (vl-catch-all-apply (function (lambda ( ) (setq lt (strcase (vla-get-linetype (vla-item (vla-get-Layers doc) (vla-get-layer Obj))))))))) (princ "\n<< Error Retrieving Linetype >>") (if ltlst (if (vl-position lt ltlst) (princ (strcat "\n<< " lt " Linetype Already Listed >>")) (progn (setq ltlst (cons lt ltlst)) (princ (strcat "\n<< " lt " Linetype Added to List >>")))) (progn (setq ltlst (cons lt ltlst)) (princ (strcat "\n<< " lt " Linetype Added to List >>")))))) (t (if ltlst (if (vl-position lt ltlst) (princ (strcat "\n<< " lt " Linetype Already Listed >>")) (progn (setq ltlst (cons lt ltlst)) (princ (strcat "\n<< " lt " Linetype Added to List >>")))) (progn (setq ltlst (cons lt ltlst)) (princ (strcat "\n<< " lt " Linetype Added to List >>"))))))) t)) ; Stay in Loop ((eq "List" lt) (if ltlst (progn (foreach lt ltlst (princ (strcat "\n" (Pad lt 46 30)))) (textscr) t) ; Stay in Loop (princ "\n<< No List Created >>"))) ((eq "All" lt) (setq ltlst nil) (while (setq l (tblnext "LTYPE" (not l))) (setq ltlst (cons (cdr (assoc 2 l)) ltlst))) nil) ; Exit Loop ((and (snvalid lt) (tblsearch "LTYPE" lt)) (setq ltlst (cons (strcase lt) ltlst))) (t (princ "\n<< Linetype not Found in Drawing >>"))))) (if ltlst (if (setq bPt (getpoint "\nSelect Point for Table: ")) (progn (foreach lt (mapcar 'strcase (reverse ltlst)) (while (setq tdef (tblnext "LAYER" (not tdef))) (if (eq lt (strcase (cdr (assoc 6 tdef)))) (setq laystr (strcat (cdr (assoc 2 tdef)) (chr 44) laystr) laylst (cons (cdr (assoc 2 tdef)) laylst)))) (setq laystr (vl-string-right-trim (chr 44) laystr)) (if (and (setq ss (ssget "_X" (list (cons 0 "*LINE") (cons -4 "<OR") (cons 6 lt) (cons 8 laystr) (cons -4 "OR>")))) (setq Objlst (vl-remove-if (function (lambda (x) (and (vl-position (cdr (assoc 8 (entget x))) laylst) (assoc 6 (entget x))))) (mapcar 'cadr (ssnamex ss))))) (progn (setq len (apply '+ (mapcar (function (lambda (x) (vla-get-Length x))) (mapcar 'vlax-ename->vla-object Objlst)))) (setq lenlst (cons (list lt len (/ len 12.) (/ len 48.)) lenlst))) (princ (strcat "\n<< No Lines Found With Linetype " lt " >>"))) (setq tdef nil laystr "" laylst nil)) (if lenlst (progn (setq tblObj (vla-addTable spc (vlax-3D-point bPt) (+ 2 (length lenlst)) 4 (* 1.5 (getvar "TEXTSIZE")) (* (apply 'max (mapcar 'strlen (mapcar 'car lenlst))) 1.5 (getvar "TEXTSIZE")))) (vla-setText tblObj 0 0 "{\\fCopperplate Gothic Light|b1|i0|c0|p34;\\C3;Linetype Lengths}") (vla-setText tblObj 1 0 "{\\fCopperplate Gothic Light|b1|i1|c0|p34;\\C16;Name}") (vla-setText tblObj 1 1 "{\\fCopperplate Gothic Light|b1|i1|c0|p34;\\C16;x}") (vla-setText tblObj 1 2 "{\\fCopperplate Gothic Light|b1|i1|c0|p34;\\C16;x/12}") (vla-setText tblObj 1 3 "{\\fCopperplate Gothic Light|b1|i1|c0|p34;\\C16;x/48}") (foreach x (reverse lenlst) (vla-setCellAlignment tblObj i 0 acMiddleCenter) (vla-setText tblObj i 0 (car x)) (vla-setCellAlignment tblObj i 1 acMiddleCenter) (vla-setText tblObj i 1 (rtos (cadr x) 2 2)) (vla-setCellAlignment tblObj i 2 acMiddleCenter) (vla-setText tblObj i 2 (rtos (caddr x) 2 2)) (vla-setCellAlignment tblObj i 3 acMiddleCenter) (vla-setText tblObj i 3 (rtos (cadddr x) 2 2)) (setq i (1+ i)))))) (princ "\n<< No Base Point Specified >>")) (princ "\n<< No Linetypes Specified >>")) (princ)) (defun pad (str chc len) (while (< (strlen Str) len) (setq str (strcat str (chr chc)))) str) Quote Link to comment Share on other sites More sharing options...
RyanAtNelco Posted June 22, 2009 Author Share Posted June 22, 2009 Lee, This is awesome, it works perfectly! You got me thinkin however, so now I'm really going to pick your brain... (just for bonus points, as the routine does everything necessary) is there a way to check off the linetypes you want similar to the way you select properties in the "stripmtext" routine by steve doman? Also i think it would be useful if there was a way to check the length of objects by other properties like layer, color, etc. Let me know what you think in terms of how difficult that would be. Quote Link to comment Share on other sites More sharing options...
Lee Mac Posted June 22, 2009 Share Posted June 22, 2009 Lee, This is awesome, it works perfectly! You got me thinkin however, so now I'm really going to pick your brain... (just for bonus points, as the routine does everything necessary) is there a way to check off the linetypes you want similar to the way you select properties in the "stripmtext" routine by steve doman? Also i think it would be useful if there was a way to check the length of objects by other properties like layer, color, etc. Let me know what you think in terms of how difficult that would be. "stripmtext" uses a DCL to get the dialog - not too difficult, but more time consuming. But, seeing as all my exams have finished, and I've got nothing on til I get my results this Thursday, I'll see what I can come up with. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.