_

[acad] qselect z wiersza poleceń?

Archiwum grupy newsowej pl.comp.cad. Na razie tylko do czytania i przeszukiwania.

[acad] qselect z wiersza poleceń?

Postprzez Lagoda » sie 27, 2009 16:34

Cześć.
Czy istnieje jakaś komenda działająca jak qselect ale z wiersza poleceń?
Chodzi o usuwanie danego typu obiektów z rysunku, np wszystkiego typu
wymiarów w danym kolorze itp..
--

__________________________________________MAT_______
Lagoda
 

Re: [acad] qselect z wiersza poleceń?

Postprzez jureko » sie 27, 2009 18:55

"Lagoda" <niespamowac lagoda malpa list kropka pl> wrote:

> Cześć.
> Czy istnieje jakaś komenda działająca jak qselect ale z wiersza poleceń?
> Chodzi o usuwanie danego typu obiektów z rysunku, np wszystkiego typu
> wymiarów w danym kolorze itp..
tak w lispie np, ssget czy entget bodajże. W pracy mam gdzieś zapisane,
jutro Ci podam.
--
pozdrawiam
jureko
jureko
 

Re: qselect z wiersza poleceń?

Postprzez jureko » sie 28, 2009 11:05

On 27 Sie, 16:34, "Lagoda" <niespamowac lagoda malpa list kropka pl>
wrote:
> Cześć.
> Czy istnieje jakaś komenda działająca jak qselect ale z wiersza poleceń?
> Chodzi o usuwanie danego typu obiektów z rysunku, np wszystkiego typu
> wymiarów w danym kolorze itp..

o takie coś np:
(ssget "X" '((0 . "TEXT")(8 . "BEZ_TEILE")(62 . 4)))
zaznacza wszystkie teksty z warstwy 'BEZ_TEILE' o kolorze '4' - cyan.
--
jureko
jureko
 

Re: qselect z wiersza poleceń?

Postprzez Lagoda » sie 28, 2009 11:15

> (ssget "X" '((0 . "TEXT")(8 . "BEZ_TEILE")(62 . 4)))
> zaznacza wszystkie teksty z warstwy 'BEZ_TEILE' o kolorze '4' - cyan.

Czy da się to jakoś wywołać wpisując w treść makra, czy trzeba zrobić lispa?
Próbowalem w makro ale nie działa (choć chyba powinno, bo zmieniłem tylko
nazwę warstwy i kolor).
pojawia się napis: <Selection set: 4977>
--

__________________________________________MAT_______
Lagoda
 

Re: qselect z wiersza poleceń?

Postprzez Lukasz Kozicki » sie 28, 2009 12:17

Lagoda napisał/wrote dnia/on 2009-08-28 11:15:
>> (ssget "X" '((0 . "TEXT")(8 . "BEZ_TEILE")(62 . 4)))
>> zaznacza wszystkie teksty z warstwy 'BEZ_TEILE' o kolorze '4' - cyan.
>
> Czy da się to jakoś wywołać wpisując w treść makra, czy trzeba zrobić lispa?
> Próbowalem w makro ale nie działa (choć chyba powinno, bo zmieniłem tylko
> nazwę warstwy i kolor).
> pojawia się napis: <Selection set: 4977>

Znaczy że działa. Można ten zestaw przekazać poleceniu lispa entdel

Pozdr,
--
ŁK
Lukasz Kozicki
 

Re: qselect z wiersza poleceń?

Postprzez jureko » sie 29, 2009 08:26

On 28 Sie, 11:15, "Lagoda" <niespamowac lagoda malpa list kropka pl>
wrote:
> > (ssget "X" '((0 . "TEXT")(8 . "BEZ_TEILE")(62 . 4)))
> > zaznacza wszystkie teksty z warstwy 'BEZ_TEILE' o kolorze '4' - cyan.
>
> Czy da się to jakoś wywołać wpisując w treść makra, czy trzeba zrobić lispa?
> Próbowalem w makro ale nie działa (choć chyba powinno, bo zmieniłem tylko
> nazwę warstwy i kolor).
> pojawia się napis: <Selection set: 4977>

W vba w zwcadzie robię tak:
Sub totalnumber()

'define
Dim total As Double
total = 0

'Create a set
Dim ssetObj As ZwcadSelectionSet
Set ssetObj = ThisDocument.SelectionSets.Add("TEST_SSET")

'use Filters to get text
Dim Ftype(2) As Integer
Dim Fdata(2) As Variant

Ftype(0) = 0
Fdata(0) = "text"

Ftype(1) = 8
Fdata(1) = "teksty"

Ftype(2) = 62
Fdata(2) = 4

Dim mode As ZcSelectionSetType
mode = zcSelectionSetAll

ssetObj.Select zcSelectionSetAll, , , Ftype, Fdata

'Determine the text whether to be digital
For i = 0 To ssetObj.Count - 1
If IsNumeric(ssetObj.Item(i).TextString) Then
total = total + ssetObj.Item(i).TextString
ActiveDocument.Utility.Prompt ssetObj.Item(i).TextString &
vbCrLf
End If
Next i

' delete set
ssetObj.Delete

' output the sum
ActiveDocument.Utility.Prompt "suma " & total

End Sub

Do acada można to chyba dopasować, zresztą w helpie pewnie będzie
przykład.
jureko
 

Re: qselect z wiersza poleceń?

Postprzez Lagoda » sie 29, 2009 13:50

>> pojawia się napis: <Selection set: 4977>
>
> Znaczy że działa.

OK. Ale nic nie zaznacza...
--

__________________________________________MAT_______
Lagoda
 

Re: qselect z wiersza poleceń?

Postprzez Lukasz Kozicki » sie 31, 2009 22:21

Lagoda pisze:
>>> pojawia się napis: <Selection set: 4977>
>> Znaczy że działa.
>
> OK. Ale nic nie zaznacza...

Nie szkodzi. Możesz makro w menu wpisać np. coś takiego:
_erase;(ssget "x" '((0 . "insert")));;
- i w ten sposób wykasowac wszystkie wstawione bloki (może na końcu
powinien być 1 średnik, nie jestem pewien - musiałbyś przetestować)

Selection set możesz też używać w z poleceniem select - np.
(ssget "x" '((0 . "line")))
- dostaniesz zbiór wyboru zawierający wszystkie linie; ten
zbiór wyboru nie będzie pokazany, ale autocad będzie go pamiętał.
a następnie _select;p; - i dopiero wtedy ten zbiór wyboru zostanie
podświetlony i możesz coś z nim zrobić. Albo możesz od razu np.
chprop;p - i możesz zbiór wyboru obrabiać, np. przenieść wszystkie
hatche na inną warstwę. Możesz też potworzyć sobie na zapas kilka
zbiorów wyboru i je zapamiętywać pod nazwami zmiennych, np. selsetN
do późniejszego wykorzystania:
(setq selset1 (ssget "x" '((0 . "hatch"))))
(setq selset2 (ssget "x" '((0 . "insert"))))
erase;(eval selset1);;
explode;(eval selset2);;

HTH :)
Pozdr,
--
ŁK

chprop;(eval sset2);la;0;;
Lukasz Kozicki
 

Re: qselect z wiersza poleceń?

Postprzez Lagoda » wrz 01, 2009 08:44

> Selection set możesz też używać w z poleceniem select - np.
> (ssget "x" '((0 . "line")))
> - dostaniesz zbiór wyboru zawierający wszystkie linie; ten
> zbiór wyboru nie będzie pokazany, ale autocad będzie go pamiętał.
> a następnie _select;p; - i dopiero wtedy ten zbiór wyboru zostanie
> podświetlony i możesz coś z nim zrobić.

aaa... kumam! będe walczył

> HTH :)

hę?
--

__________________________________________MAT_______
Lagoda
 

Re: qselect z wiersza poleceń?

Postprzez Lagoda » wrz 01, 2009 10:32

> _erase;(ssget "x" '((0 . "insert")));;

Świetnie, działa, dużo fajniej niż qselect.
Dziękuje za poświęcony czas.
--

__________________________________________MAT_______
Lagoda
 

Następna strona

Powrót do pl.comp.cad

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników