Risultati da 1 a 1 di 1
  1. #1
    RUGGIUNO
    Visitatore

    Predefinito [Recuperato] Funzione selezione con filtri con object arx

    amathos2
    02-02-2005, 14.26.33

    Salve a tutti, ho da poco cominciato a smanettare con la programmazione object arx per autocad. Poichè volevo realizzare una funzione abbastanza generale per creare selezioni con filtri volevo sapere se qualcuno potrebbe darmi una dritta.
    All'inizio avevo pensato alla funzione "acutbuildlist" per generare il resbuf, ma per una soluzione + generale non mi sembra applicabile.
    Allora ho pensato di utilizzare il resbuf->rbnext per creare una lista.
    Solo che non saprei come creare i resbuf visto che non ne conosco il numero a priori. Spero di non essere stato troppo incasinato con le parole e che qualcuno possa aiutarmi. Grazie a tutti.



    SimoneCad
    07-02-2005, 20.25.28

    Ciao Amathos2,
    innanzi tutto dovresti spiegare qual'è lo scopo del filtro. Ad esempio, prevede l'intervento dell'utente ? L'utente seleziona delle entità sullo schermo e tu le filtri per layer, o extended data, o colore, ecc.... Oppure il tuo filtro lavora sul database del disegno: selezione ad esempio di tutti gli oggetti di tipo AcDbBlochReference, oppure selezione di tutti gli oggetti che stanno in un layer, oppure selezione di tutti gli attributi, oppure selezione di tutti gli oggetti che hanno oggetti nel proprio extebded dictionary, ecc....
    Puoi usare ad esempio acedSSGet che ti permette numerose opzioni. Ma di solito la cosa migliore, in termini di velocità, è quella di usare le tabelle del database (Block table, Symbol table, layer table, ecc...).
    Spero di averti aiutato.



    amathos2
    11-02-2005, 09.11.17

    Ciao simone, innanzitutto grazie per la risposta. Quello che in definitiva mi piacerebbe di riuscire a fare sarebbe una maschera di selezione attraverso cui l'utente possa selezionare gli oggetti a schermo, o in tutto il disegno, selezionando prima però i criteri per il filtro e + precisamente "tipo di oggetto", "colore" e "layer". Ovviamente non per forza le caratteristiche devono essere selezionate tutte. Grazie e ciao



    SimoneCad
    12-02-2005, 17.41.20

    Ciao, rieccoci...
    Prima di iniziare, vorrei capire se ho compreso bene il tuo problema. Ti faccio una sorta di use case e tu mi dici se è corretto.
    L'utente lancia il tuo comando. Si apre la tua dialog con tutti i vari check box, list box, ecc.. di scelta delle proprità da utilizzare per i filtri. Al momento della scelta di uno o più proprietà, a schermo vengono evedenziate le entità selezionate.
    Oppure.... Imposta tutti i criteri di filtro e poi preme un pulsante che avvia la procedura di selezione entità in base ai filtri ?
    In entrambe le soluzioni bisogna cmq tener conto se la selezione va fatta tra tutti gli oggetti del disegno (più facile), o solo su quelli visualizzati attualmente nell'area del disegno (oiù difficile).
    O forse sono io che la faccio troppo complicata ? Cmp, è importante capire bene il problema per poterti dare la soluzione ideale.
    Tieni comunque presente che entrambe le soluzioni proposte, prevedono una conoscenza avanzata degli object arx e non so se sia proprio l'ideale per cominciare la programmazione in questo mondo.
    Fammi sapere.



    amathos2
    14-02-2005, 19.03.39

    Ciao Simone, innanzitutto ti voglio ringraziare per l'interessamento a questo post.
    Mi spiace rispondere così tardi, ma spesso per lavoro sto fuori tutto il giorno e la sera nn sempre ho il tempo di controllare.
    Cmq hai azzeccato entrambe le soluzioni,cioè sia la selezione tramite (scusa la ripetizione) selezione a schermo, sia quella su tutti gli oggetti del disegno.
    Praticamente l'idea sarebbe che una volta selezionati i criteri di filtro l'utente possa scegliere se selezionare su schermo le entità oppure attivare la scelta su tutti gli elementi del disegno.
    Corregimi se sbaglio ma quest'ultima operazione nn dovrebbe essere complicata,non dipende dal fatto che il primo parametro della acedssget sia NULL oppure X?
    Un'altra cosa che vorrei chiederti (ora sto esagerando) è se conosci qualche fonte web o cartacea sull'argomento.Ho visto esiste quasi esclusivamente un libro sull'argomento arx quello di Ransen. Lo conosci? E' un buon testo?



    SimoneCad
    15-02-2005, 20.01.51

    Ciao Amathos,
    nessun rompimento. Inizio dalla cosa più semplice. Io non conosco dei testi che puoi scaricare dal web. Personalmente tutto quello che so l'ho imparato da ObjectArx Reference e dall'intranet ADN della quale facevo parte. Il mio consiglio è quello di iniziare seguendo appunto ObjectArx Reference e soprattutto guardare le molte applicazioni già pronte sotto Samples. Dimenticavo: passa anche per discussion.autodesk.com.
    Torniamo ora a noi.
    Quando dicevo più difficile, intendevo nel caso in cui non ci fosse l'intervento dell'utente. Mi spiego. L'applicazione trova automaticamente le dimensioni della finestra documento di autocad e chiama acedSSGet con paramentro iniziale "W" (Window selection) con le coordinate trovate.
    Con il primo paramentro a NULL della acedSSGet, permetti all'utente di selezionare delle entità a sua discrezione. Una volta terminata la selezione, dovresti "scremare" le entità del selection set in base ai criteri impostati nei filtri.
    Per iniziare le dritte che ti posso dare sono:
    - Per la dialog eredita da CAcUiDialog e creati la tua finestra con tutti i controlli;
    - Cerca il più possibile di iterare tra le tabelle del database piuttosto che usare ripetutamente acedSSGet. Oltre che per un fatto di performance, dato chè l'iterazione è pressochè simile per ognuna, questo ti permette di crearei librerie di classi da riusare
    E poi... e poi dipende un pò dalla strada che scegli.
    Dato che lo sviluppo potrebbe seguire più strade, non so dirti attualmente di più. Se mano a mano che avanzi, mi tieni al corrente, allora ti potrò aiutare di più.



    pgrigio
    17-02-2005, 15.31.49

    Cmq vada l'idea di amathos2 e' ottima!
    Ultima modifica di Sandra_ME30; 02-03-2008 alle 00: 38


  • Discussioni Simili

    1. Filtri di selezione
      Di Crazy Fly nel forum AutoCAD
      Risposte: 1
      Ultimo Messaggio: 16-03-2010, 12: 42
    2. Funzione "Selezione oggetti simili"
      Di PlannerRoad nel forum Tips & Tricks per Autocad
      Risposte: 0
      Ultimo Messaggio: 30-10-2008, 09: 54
    3. [Recuperato] Info sulla funzione Debug sotto il menu' Help.
      Di RUGGIUNO nel forum NX (Unigraphics)
      Risposte: 0
      Ultimo Messaggio: 23-02-2008, 13: 50
    4. [Recuperato] selezione di un gran numero di superfici
      Di Oldwarper nel forum Solidworks
      Risposte: 0
      Ultimo Messaggio: 19-02-2008, 11: 57
    5. [Recuperato] Dubbi funzione loft
      Di Oldwarper nel forum Solidworks
      Risposte: 0
      Ultimo Messaggio: 08-02-2008, 10: 19

    Chi Ha Letto Questa Discussione: 0

    Segnalibri

    Segnalibri

    Permessi di Scrittura

    • Tu non puoi inviare nuove discussioni
    • Tu non puoi inviare risposte
    • Tu non puoi inviare allegati
    • Tu non puoi modificare i tuoi messaggi
    •  




    CAD3D.it - la community dei progettisti