Multiple Identical Attributes in Title Block - too much typi
CADForums.net Forum Index CADForums.net
Discussion of AutoCAD and other CAD software.
 
 FAQFAQ   MemberlistMemberlist     RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 
Google
 
Web cadforums.net
Multiple Identical Attributes in Title Block - too much typi
Goto page 1, 2  Next
 
Post new topic   Reply to topic    CADForums.net Forum Index -> Customization
Author Message
Doug
Guest





Posted: Thu Jan 06, 2005 6:30 pm    Post subject: Multiple Identical Attributes in Title Block - too much typi Reply with quote

The office where I work uses a title block that has the drawing number and
revision level in three separate places around the drawing (top, side, and
bottom). When we insert the title block or change revision level, we have
to type the same data three times.
Is there a way to have one "instance" of a text entry, whether as a block
attribute or something else, appear on the drawing in multiple places? I
see it as a bit like having formulas in a spreadsheet, copying data from one
place to another. Maybe RTEXT in attributes? Hmmm, never tried that. I'll
check it today.

DougVL

Back to top
Kent Cooper, AIA
Guest





Posted: Thu Jan 06, 2005 6:43 pm    Post subject: Re: Multiple Identical Attributes in Title Block - too much Reply with quote

I don't know about attribute-wise, but if those were plain inserted Blocks
consisting of the appropriate text, REFEDIT on one of them would change them
all.
--
Kent Cooper, AIA


"Doug" wrote...
Quote:
The office where I work uses a title block that has the drawing number and
revision level in three separate places around the drawing (top, side, and
bottom). When we insert the title block or change revision level, we have
to type the same data three times.
Is there a way to have one "instance" of a text entry, whether as a block
attribute or something else, appear on the drawing in multiple places? I
see it as a bit like having formulas in a spreadsheet, copying data from
one
place to another. Maybe RTEXT in attributes? Hmmm, never tried that.
I'll
check it today.

DougVL
Back to top
Matt W
Guest





Posted: Thu Jan 06, 2005 6:46 pm    Post subject: Re: Multiple Identical Attributes in Title Block - too much Reply with quote

Have you looked at FIELDs??

--
I support two teams: The Red Sox and whoever beats the Yankees.

"Doug" <Doug.VanderLaan@aarcorp.com> wrote in message
news:41dd3d60$1_2@newsprd01...
Quote:
The office where I work uses a title block that has the drawing number and
revision level in three separate places around the drawing (top, side, and
bottom). When we insert the title block or change revision level, we have
to type the same data three times.
Is there a way to have one "instance" of a text entry, whether as a block
attribute or something else, appear on the drawing in multiple places? I
see it as a bit like having formulas in a spreadsheet, copying data from
one
place to another. Maybe RTEXT in attributes? Hmmm, never tried that.
I'll
check it today.

DougVL



Back to top
LARRY
Guest





Posted: Thu Jan 06, 2005 6:48 pm    Post subject: Re: Multiple Identical Attributes in Title Block - too much Reply with quote

If you using acad 2005 you could put fields
in 3 of the attributes and they would be controlled by the fourth.
Back to top
Doug
Guest





Posted: Thu Jan 06, 2005 9:33 pm    Post subject: Re: Multiple Identical Attributes in Title Block - too much Reply with quote

It's 3 attributes all in the same block, but with different tags (top, side,
bottom).

Doug

"Kent Cooper, AIA" <kcooper@schwamarchitects.com> wrote in message
news:41dd4094_2@newsprd01...
Quote:
I don't know about attribute-wise, but if those were plain inserted Blocks
consisting of the appropriate text, REFEDIT on one of them would change
them
all.
--
Kent Cooper, AIA


"Doug" wrote...
The office where I work uses a title block that has the drawing number
and
revision level in three separate places around the drawing (top, side,
and
bottom). When we insert the title block or change revision level, we
have
to type the same data three times.
Is there a way to have one "instance" of a text entry, whether as a
block
attribute or something else, appear on the drawing in multiple places?
I
see it as a bit like having formulas in a spreadsheet, copying data from
one
place to another. Maybe RTEXT in attributes? Hmmm, never tried that.
I'll
check it today.

DougVL

Back to top
Doug
Guest





Posted: Thu Jan 06, 2005 9:34 pm    Post subject: Re: Multiple Identical Attributes in Title Block - too much Reply with quote

I should have said A2004.
No FIELDS available, unfortunately.

DougVL

"Matt W" <nospam@address.withheld.com> wrote in message
news:41dd4146$1_2@newsprd01...
Quote:
Have you looked at FIELDs??

--
I support two teams: The Red Sox and whoever beats the Yankees.

"Doug" <Doug.VanderLaan@aarcorp.com> wrote in message
news:41dd3d60$1_2@newsprd01...
The office where I work uses a title block that has the drawing number
and
revision level in three separate places around the drawing (top, side,
and
bottom). When we insert the title block or change revision level, we
have
to type the same data three times.
Is there a way to have one "instance" of a text entry, whether as a
block
attribute or something else, appear on the drawing in multiple places?
I
see it as a bit like having formulas in a spreadsheet, copying data from
one
place to another. Maybe RTEXT in attributes? Hmmm, never tried that.
I'll
check it today.

DougVL



Back to top
T.Willey
Guest





Posted: Thu Jan 06, 2005 9:39 pm    Post subject: Re: Multiple Identical Attributes in Title Block - too much Reply with quote

You can set up a routine that will put the information in all the correct places.

Tim
Back to top
Daniel J. Altamura, R.A.
Guest





Posted: Thu Jan 06, 2005 9:45 pm    Post subject: Re: Multiple Identical Attributes in Title Block - too much Reply with quote

If Fields are not available, then try this. Place the text/attribute in
model space, then use three viewports in paper space to view it. You can
use Dview/Twist to rotate the viewports if necessary. Now it appears as
three separate pieces of text, but is actually one. Would this work?

--
Daniel J. Altamura, R.A.
Altamura Architectural Consulting
and SoftWorx, Autodesk Authorized Developer
--------------------------------------------------------------------
Back to top
Doug
Guest





Posted: Thu Jan 06, 2005 9:55 pm    Post subject: Re: Multiple Identical Attributes in Title Block - too much Reply with quote

I sure don't think so. That one's hard for me to imagine.

The block is a combination title block and border for a D size drawing. I
has about a dozen attributes, including three each for REV LEVEL, SHEET
NUMBER, and DRAWING NUMBER. Those three items show up at the top of the
sheet, across the end, and in the main title block in the lower right hand
corner. A couple of dozen other people also use the same title block, so I
can't change the block itself.

I'm just looking for a way to avoid typing the REV LEVEL data 3 times, for
example, when updating a drawing. And avoid having to enter the values for
all three "boxes" three times each when inserting a new title block.

Doug

"Daniel J. Altamura, R.A." <Altamura@frontiernet.net> wrote in message
news:41dd6b0d$1_1@newsprd01...
Quote:
If Fields are not available, then try this. Place the text/attribute in
model space, then use three viewports in paper space to view it. You can
use Dview/Twist to rotate the viewports if necessary. Now it appears as
three separate pieces of text, but is actually one. Would this work?

--
Daniel J. Altamura, R.A.
Altamura Architectural Consulting
and SoftWorx, Autodesk Authorized Developer
--------------------------------------------------------------------

Back to top
OLD-CADaver
Guest





Posted: Thu Jan 06, 2005 10:28 pm    Post subject: Re: Multiple Identical Attributes in Title Block - too much Reply with quote

<< I'm just looking for a way to avoid typing the REV LEVEL data 3 times, for example, when updating a drawing. And avoid having to enter the values for all three "boxes" three times each when inserting a new title block. >>


Try here: http://tinyurl.com/6vk4k
and Download GATTE.DVB

Put it on a button in your custom toolbars.
^C^C-VBARUN gatte.dvb!gatte.module1.Run_gatte
Back to top
RichardG
Guest





Posted: Fri Jan 07, 2005 12:44 am    Post subject: Re: Multiple Identical Attributes in Title Block - too much Reply with quote

Here's another approach:
-Attedit
it has a type of search and replace for attributes
if all 3 of the tags have the same initial value then this will make it easy
Richard

"Doug" <Doug.VanderLaan@aarcorp.com> wrote in message
news:41dd3d60$1_2@newsprd01...
Quote:
The office where I work uses a title block that has the drawing number and
revision level in three separate places around the drawing (top, side, and
bottom). When we insert the title block or change revision level, we have
to type the same data three times.
Is there a way to have one "instance" of a text entry, whether as a block
attribute or something else, appear on the drawing in multiple places? I
see it as a bit like having formulas in a spreadsheet, copying data from
one
place to another. Maybe RTEXT in attributes? Hmmm, never tried that.
I'll
check it today.

DougVL

Back to top
T.Willey
Guest





Posted: Fri Jan 07, 2005 1:12 am    Post subject: Re: Multiple Identical Attributes in Title Block - too much Reply with quote

See if this will work for you. It is a dialog version, and it seems to work here.

Tim

ps. Just change the attached file extension from txt to dcl.

(defun c:CopyAttValue (/ Ent Obj AttList DiaLoad MasterAtt ChangeAtts)

(command "_.undo" "_end")
(command "_.undo" "_group")
(if (setq Ent (entsel "\n Select block:"))
(progn
(setq Obj (vlax-ename->vla-object (car Ent)))
(setq AttList (tmw:Var->Safe (vla-GetAttributes Obj)))
(setq AttList (vl-sort AttList '(lambda (a b) (< (vla-get-TagString a) (vla-get-TagString b)))))
(setq DiaLoad (load_dialog "CopyAtt.dcl"))
(if (not (new_dialog "CopyAtt" DiaLoad))
(exit)
)
(start_list "MasterList" 3)
(mapcar '(lambda (x) (add_list (vla-get-TagString x))) AttList)
(end_list)
(action_tile "MasterList" "(if (= $reason 4) (ChangeLists (get_tile \"MasterList\")))")
(action_tile "CopyFrom" "(if (= $reason 4) (sub-Remove (get_tile \"CopyFrom\") \"\"))")
(action_tile "CopyTo" "(if (= $reason 4) (sub-Remove \"\" (get_tile \"CopyTo\")))")
(action_tile "Add" "(ChangeLists (get_tile \"MasterList\"))")
(action_tile "Remove"
"(progn
(setq testCpFrom (get_tile \"CopyFrom\"))
(setq testCpTo (get_tile \"CopyTo\"))
(sub-Remove testCpFrom testCpTo)
)"
)
(action_tile "Apply" "(UpdateAttributes)")
(action_tile "Accept"
"(progn
(UpdateAttributes)
(done_dialog 1)
)"
)
(action_tile "Cancel" "(done_dialog 0)")
(start_dialog)
)
)
(command "_.undo" "_end")
(princ)
)

;----------------------------------------------------------------------------------

(defun ChangeLists (IndexNum / Att2Move)

(setq Att2Move (nth (atoi IndexNum) AttList))
(setq AttList (vl-remove Att2Move AttList))
(if MasterAtt
(progn
(setq ChangeAtts (cons Att2Move ChangeAtts))
(start_list "CopyTo" 3)
(mapcar '(lambda (x) (add_list (vla-get-TagString x))) ChangeAtts)
(end_list)
)
(progn
(setq MasterAtt Att2Move)
(start_list "CopyFrom" 3)
(add_list (vla-get-TagString MasterAtt))
(end_list)
)
)
(start_list "MasterList" 3)
(mapcar '(lambda (x) (add_list (vla-get-TagString x))) AttList)
(end_list)
(start_list "CopyTo" 3)
(mapcar '(lambda (x) (add_list (vla-get-TagString x))) ChangeAtts)
(end_list)
)

;--------------------------------------------------------------------------------

(defun UpdateAttributes (/ AttValue)

(if MasterAtt
(progn
(setq AttValue (vla-get-TextString MasterAtt))
(foreach item ChangeAtts
(vla-put-TextString item AttValue)
)
(start_list "CopyFrom" 3)
(end_list)
(start_list "copyTo" 3)
(end_list)
(setq MasterAtt nil)
(setq ChangeAtts nil)
)
)
)

;---------------------------------------------------------------------------------

(defun sub-Remove (CpFromVal CpToVal / temp1 cnt1 RmList)

(cond
((and MasterAtt (/= CpFromVal ""))
(setq AttList (cons MasterAtt Attlist))
(start_list "CopyFrom" 3)
(end_list)
(setq MasterAtt nil)
)
((and ChangeAtts (> (length ChangeAtts) 0) (/= CpToVal ""))
(setq RmList (read (strcat "(" CpToVal ")")))
(foreach item RmList
(setq AttList (cons (nth item ChangeAtts) Attlist))
)
(setq cnt1 0)
(while (< cnt1 (length ChangeAtts))
(if (not (member cnt1 RmList))
(setq temp1 (cons (nth cnt1 ChangeAtts) temp1))
)
(setq cnt1 (1+ cnt1))
)
(setq ChangeAtts (reverse temp1))
(if ChangeAtts
(progn
(start_list "CopyTo" 3)
(mapcar '(lambda (x) (add_list (vla-get-TagString x))) ChangeAtts)
(end_list)
)
(progn
(start_list "CopyTo" 3)
(end_list)
)
)
)
)
(setq AttList (vl-sort AttList '(lambda (a b) (< (vla-get-TagString a) (vla-get-TagString b)))))
(start_list "MasterList" 3)
(mapcar '(lambda (x) (add_list (vla-get-TagString x))) AttList)
(end_list)
)

;------------------------------------------------------------------

(defun tmw:Var->Safe (VariantValue /)

(if (= (type VariantValue) 'variant)
(safearray-value (variant-value VariantValue))
)
)
Back to top
GaryDF
Guest





Posted: Fri Jan 07, 2005 1:36 am    Post subject: Re: Multiple Identical Attributes in Title Block - too much Reply with quote

Nothing shows up in the dialog box....where are the values?

Gary


"T.Willey" <nospam@address.withheld> wrote in message
news:11624778.1105042386714.JavaMail.jive@jiveforum1.autodesk.com...
Quote:
See if this will work for you. It is a dialog version, and it seems to work
here.

Tim

ps. Just change the attached file extension from txt to dcl.

(defun c:CopyAttValue (/ Ent Obj AttList DiaLoad MasterAtt ChangeAtts)

(command "_.undo" "_end")
(command "_.undo" "_group")
(if (setq Ent (entsel "\n Select block:"))
(progn
(setq Obj (vlax-ename->vla-object (car Ent)))
(setq AttList (tmw:Var->Safe (vla-GetAttributes Obj)))
(setq AttList (vl-sort AttList '(lambda (a b) (< (vla-get-TagString a)
(vla-get-TagString b)))))
(setq DiaLoad (load_dialog "CopyAtt.dcl"))
(if (not (new_dialog "CopyAtt" DiaLoad))
(exit)
)
(start_list "MasterList" 3)
(mapcar '(lambda (x) (add_list (vla-get-TagString x))) AttList)
(end_list)
(action_tile "MasterList" "(if (= $reason 4) (ChangeLists (get_tile
\"MasterList\")))")
(action_tile "CopyFrom" "(if (= $reason 4) (sub-Remove (get_tile
\"CopyFrom\") \"\"))")
(action_tile "CopyTo" "(if (= $reason 4) (sub-Remove \"\" (get_tile
\"CopyTo\")))")
(action_tile "Add" "(ChangeLists (get_tile \"MasterList\"))")
(action_tile "Remove"
"(progn
(setq testCpFrom (get_tile \"CopyFrom\"))
(setq testCpTo (get_tile \"CopyTo\"))
(sub-Remove testCpFrom testCpTo)
)"
)
(action_tile "Apply" "(UpdateAttributes)")
(action_tile "Accept"
"(progn
(UpdateAttributes)
(done_dialog 1)
)"
)
(action_tile "Cancel" "(done_dialog 0)")
(start_dialog)
)
)
(command "_.undo" "_end")
(princ)
)


;--------------------------------------------------------------------------------

--
Quote:

(defun ChangeLists (IndexNum / Att2Move)

(setq Att2Move (nth (atoi IndexNum) AttList))
(setq AttList (vl-remove Att2Move AttList))
(if MasterAtt
(progn
(setq ChangeAtts (cons Att2Move ChangeAtts))
(start_list "CopyTo" 3)
(mapcar '(lambda (x) (add_list (vla-get-TagString x))) ChangeAtts)
(end_list)
)
(progn
(setq MasterAtt Att2Move)
(start_list "CopyFrom" 3)
(add_list (vla-get-TagString MasterAtt))
(end_list)
)
)
(start_list "MasterList" 3)
(mapcar '(lambda (x) (add_list (vla-get-TagString x))) AttList)
(end_list)
(start_list "CopyTo" 3)
(mapcar '(lambda (x) (add_list (vla-get-TagString x))) ChangeAtts)
(end_list)
)


;--------------------------------------------------------------------------------

(defun UpdateAttributes (/ AttValue)

(if MasterAtt
(progn
(setq AttValue (vla-get-TextString MasterAtt))
(foreach item ChangeAtts
(vla-put-TextString item AttValue)
)
(start_list "CopyFrom" 3)
(end_list)
(start_list "copyTo" 3)
(end_list)
(setq MasterAtt nil)
(setq ChangeAtts nil)
)
)
)


;--------------------------------------------------------------------------------

-
Quote:

(defun sub-Remove (CpFromVal CpToVal / temp1 cnt1 RmList)

(cond
((and MasterAtt (/= CpFromVal ""))
(setq AttList (cons MasterAtt Attlist))
(start_list "CopyFrom" 3)
(end_list)
(setq MasterAtt nil)
)
((and ChangeAtts (> (length ChangeAtts) 0) (/= CpToVal ""))
(setq RmList (read (strcat "(" CpToVal ")")))
(foreach item RmList
(setq AttList (cons (nth item ChangeAtts) Attlist))
)
(setq cnt1 0)
(while (< cnt1 (length ChangeAtts))
(if (not (member cnt1 RmList))
(setq temp1 (cons (nth cnt1 ChangeAtts) temp1))
)
(setq cnt1 (1+ cnt1))
)
(setq ChangeAtts (reverse temp1))
(if ChangeAtts
(progn
(start_list "CopyTo" 3)
(mapcar '(lambda (x) (add_list (vla-get-TagString x))) ChangeAtts)
(end_list)
)
(progn
(start_list "CopyTo" 3)
(end_list)
)
)
)
)
(setq AttList (vl-sort AttList '(lambda (a b) (< (vla-get-TagString a)
(vla-get-TagString b)))))
(start_list "MasterList" 3)
(mapcar '(lambda (x) (add_list (vla-get-TagString x))) AttList)
(end_list)
)

;------------------------------------------------------------------

(defun tmw:Var->Safe (VariantValue /)

(if (= (type VariantValue) 'variant)
(safearray-value (variant-value VariantValue))
)
)
Back to top
GaryDF
Guest





Posted: Fri Jan 07, 2005 1:40 am    Post subject: Re: Multiple Identical Attributes in Title Block - too much Reply with quote

Never mind....got it to work...my bad.

Gary

"GaryDF" <fowler@architettura-inc.com> wrote in message
news:41dda215$1_1@newsprd01...
Quote:
Nothing shows up in the dialog box....where are the values?

Gary


"T.Willey" <nospam@address.withheld> wrote in message
news:11624778.1105042386714.JavaMail.jive@jiveforum1.autodesk.com...
See if this will work for you. It is a dialog version, and it seems to work
here.

Tim

ps. Just change the attached file extension from txt to dcl.

(defun c:CopyAttValue (/ Ent Obj AttList DiaLoad MasterAtt ChangeAtts)

(command "_.undo" "_end")
(command "_.undo" "_group")
(if (setq Ent (entsel "\n Select block:"))
(progn
(setq Obj (vlax-ename->vla-object (car Ent)))
(setq AttList (tmw:Var->Safe (vla-GetAttributes Obj)))
(setq AttList (vl-sort AttList '(lambda (a b) (< (vla-get-TagString a)
(vla-get-TagString b)))))
(setq DiaLoad (load_dialog "CopyAtt.dcl"))
(if (not (new_dialog "CopyAtt" DiaLoad))
(exit)
)
(start_list "MasterList" 3)
(mapcar '(lambda (x) (add_list (vla-get-TagString x))) AttList)
(end_list)
(action_tile "MasterList" "(if (= $reason 4) (ChangeLists (get_tile
\"MasterList\")))")
(action_tile "CopyFrom" "(if (= $reason 4) (sub-Remove (get_tile
\"CopyFrom\") \"\"))")
(action_tile "CopyTo" "(if (= $reason 4) (sub-Remove \"\" (get_tile
\"CopyTo\")))")
(action_tile "Add" "(ChangeLists (get_tile \"MasterList\"))")
(action_tile "Remove"
"(progn
(setq testCpFrom (get_tile \"CopyFrom\"))
(setq testCpTo (get_tile \"CopyTo\"))
(sub-Remove testCpFrom testCpTo)
)"
)
(action_tile "Apply" "(UpdateAttributes)")
(action_tile "Accept"
"(progn
(UpdateAttributes)
(done_dialog 1)
)"
)
(action_tile "Cancel" "(done_dialog 0)")
(start_dialog)
)
)
(command "_.undo" "_end")
(princ)
)



;--------------------------------------------------------------------------------
--

(defun ChangeLists (IndexNum / Att2Move)

(setq Att2Move (nth (atoi IndexNum) AttList))
(setq AttList (vl-remove Att2Move AttList))
(if MasterAtt
(progn
(setq ChangeAtts (cons Att2Move ChangeAtts))
(start_list "CopyTo" 3)
(mapcar '(lambda (x) (add_list (vla-get-TagString x))) ChangeAtts)
(end_list)
)
(progn
(setq MasterAtt Att2Move)
(start_list "CopyFrom" 3)
(add_list (vla-get-TagString MasterAtt))
(end_list)
)
)
(start_list "MasterList" 3)
(mapcar '(lambda (x) (add_list (vla-get-TagString x))) AttList)
(end_list)
(start_list "CopyTo" 3)
(mapcar '(lambda (x) (add_list (vla-get-TagString x))) ChangeAtts)
(end_list)
)



;--------------------------------------------------------------------------------

(defun UpdateAttributes (/ AttValue)

(if MasterAtt
(progn
(setq AttValue (vla-get-TextString MasterAtt))
(foreach item ChangeAtts
(vla-put-TextString item AttValue)
)
(start_list "CopyFrom" 3)
(end_list)
(start_list "copyTo" 3)
(end_list)
(setq MasterAtt nil)
(setq ChangeAtts nil)
)
)
)



;--------------------------------------------------------------------------------
-

(defun sub-Remove (CpFromVal CpToVal / temp1 cnt1 RmList)

(cond
((and MasterAtt (/= CpFromVal ""))
(setq AttList (cons MasterAtt Attlist))
(start_list "CopyFrom" 3)
(end_list)
(setq MasterAtt nil)
)
((and ChangeAtts (> (length ChangeAtts) 0) (/= CpToVal ""))
(setq RmList (read (strcat "(" CpToVal ")")))
(foreach item RmList
(setq AttList (cons (nth item ChangeAtts) Attlist))
)
(setq cnt1 0)
(while (< cnt1 (length ChangeAtts))
(if (not (member cnt1 RmList))
(setq temp1 (cons (nth cnt1 ChangeAtts) temp1))
)
(setq cnt1 (1+ cnt1))
)
(setq ChangeAtts (reverse temp1))
(if ChangeAtts
(progn
(start_list "CopyTo" 3)
(mapcar '(lambda (x) (add_list (vla-get-TagString x))) ChangeAtts)
(end_list)
)
(progn
(start_list "CopyTo" 3)
(end_list)
)
)
)
)
(setq AttList (vl-sort AttList '(lambda (a b) (< (vla-get-TagString a)
(vla-get-TagString b)))))
(start_list "MasterList" 3)
(mapcar '(lambda (x) (add_list (vla-get-TagString x))) AttList)
(end_list)
)

;------------------------------------------------------------------

(defun tmw:Var->Safe (VariantValue /)

(if (= (type VariantValue) 'variant)
(safearray-value (variant-value VariantValue))
)
)

Back to top
T.Willey
Guest





Posted: Fri Jan 07, 2005 1:46 am    Post subject: Re: Multiple Identical Attributes in Title Block - too much Reply with quote

Once you select a block, it read the attributes... oh.. maybe add a (vl-load-com). But it is supposed to read the attributes from the block, then it popultes the left side with all the tag names for the block. If it doesn't work for you still, maybe post the block, and I will see what is wrong.

Tim
Back to top
 
Post new topic   Reply to topic    CADForums.net Forum Index -> Customization All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




Windows Server DSP VoIP Electronics New Topics
Powered by phpBB