Draftsight: ancora concorrenza per Autocad

In casa Autocad ormai si inizia a sudare. Se fino a un po’ di tempo fa Autodesk rideva al sol pensiero di avere avversari sul proprio campo, oggi tale situazione inizia a preoccupare le già tanto minate tasche della società.


Sul mercato fa capolino un software CAD che pare non abbia nulla da invidiare alla controparte ciuccia-soldi: Draftsight. Sviluppato dalla Dassault Systèmes (3DS), che molti potrebbero conoscere per la realizzazione di programmi come Catia o Solidworks, questo software permette la realizzazione e modifica di file in formato .dwg.

È possibile scaricare la beta resa pubblica e il software è dichiarato come gratuito a patto di un’attivazione dello stesso. Per ora supporta il 2D e il software è già abbastanza avanzato per competere con la controparte più famosa e blasonata.

Inutile dire che l’installazione,che richiede poco spazio e qualche minuto, è possibile anche sui nostri amati sistemi GNU/Linux.

Tratti direttamente dal sito ufficiale troviamo le sue caratteristiche:

Interfaccia utente e Caratteristiche

  • Sistema di coordinate cartesiane
  • Livelli e Gestore dei livelli
  • Maschere di background per annotazioni
  • Input della linea di comando
  • Bloccaggio del ViewPort
  • Gestore della Proprietà
  • Visualizzazione dinamica e zoom
  • ViewPort poligonali
  • Barre degli strumenti e menu standard
  • Visualizzazione e zoom tramite mouse
  • Blocco o separazione dei livelli per ViewPort
  • Blocchi e file di riferimento
  • Visualizzazione degli obbiettivi proxy
  • Comandi alias
  • File menu
  • Tabelle in stampa CTB e STB
  • Caratteri SHX e TTF
  • File LineStyle
  • File di tratteggio
  • Template

Interoperabilità

  • Supporto di scrittura e lettura per file DWG/DXF*
  • Salvataggio file DWG/DXF nelle versioni precedenti*
  • Stampa file (.plt, .jpg, .pdf, .png, & .svg)
  • Allega file immagine (.bmp, .gif, .jpg, .jpeg, .png, .tif, & .tiff)
  • Allega disegni esterni di riferimento
  • Creazione di file binario o ASCII DXF*
  • Salvataggio nei formati .wmf, .jpeg, .pdf, .png, .sld, .svg, .tif, & .stl
  • Pubblicazione su eDrawings o Drawings Now
  • Creazione di PDF multipagina

Miglioramenti di produttività

  • Opzioni di dialogo consolidate
  • Home palette
  • Stampa rapida
  • Prompt dei comandi ottimizzato e di facile lettura
  • Calcolatore intelligente
  • Supporto contestuale sensibile

Impostazione e amministrazione

  • Supporto per sistemi operativi Windows®, Mac & Linux
  • Interfaccia personalizzabile: Alias dei comandi, azioni con doppio click, menu, menu con tasto destro, scorciatoie, barre degli strumenti, etc.
  • Semplici e gratuite
  • Installazione veloce “in un click”
  • Supporto set di caratteri multilingua e caratteri Unicode

Entità

  • Archi, cerchi e linee
  • Punti e anelli
  • Solidi & gradienti
  • Annotazioni e Note
  • Hyperlink
  • Dimensioni: Lunghezza dell’arco, raggio, diametro, linee base, lineari, ordinate, ecc.
  • Tabelle
  • ViewPort
  • Blocchi e Attributi
  • Maschere e Regioni
  • Ellissi e archi ellittici
  • Tratteggi ISO, ANSI & Standard
  • Tolleranze, Leaders & CenterMarks
  • RichLines, PolyLines, 3D PolyLines, & Spline

Strumenti di Disegno

  • Immagini & Griglia
  • Modifica doppio-click
  • Selezione di elementi con filtri, SmartSelect o con finestre, finestre incrociate, linee incrociate, finestre poligonali, ecc.
  • Raccordo e filetto
  • Annulla/Ripeti
  • Guide di tracciabilità e guide polari
  • Griglie elementi, Immagini elementi, Elementi
  • Seleziona area, distanza e informazioni sulle coordinate
  • Linee infinite, Raggi & Punti di riferimento

Strumenti di setup disegno

  • Sistema di coordinate personalizzabile
  • Formato punti
  • Layout multiplo
  • Stili RichLine
  • Stili di Testo
  • Stili Dimensioni
  • Gestore dei livelli
  • Sistema di unità
  • Nome Layout pagine
  • Stili tabelle

Strumenti di modifica

  • Sposta, ridimensiona, ruota
  • Modifica blocchi o isola per effettuare modifiche
  • Modifica tratteggio e riempimento, origine, ecc
  • Allunga e modifica la lunghezza
  • Copia mirror, copia offset e copia stili
  • Disegni aperti di riferimento dal disegno base
  • Modifica proprietà note: Direzione, giustificazione, interlinea, altezza testo e stile testo, ecc.
  • Ritaglia e allarga
  • Separa e assembla
  • Aggiungi riferimenti e immagini

Non resta che provare…

Nome in codice "Wheezy"

Dopo il congelamento di Squeeze, Debian è corsa alla ricerca del nome da dare alla nuova versione (futura testing) del Sistema Operativo. Tra i tanti personaggi che costellano il fantastico mondo di Toy Story questa volta è toccato al pinguino Wheezy cedere il proprio appellativo per la nobile causa. Preso direttamente dal secondo episodio, l’animale pare essere, quanto mai, la mascotte più adatta per questo compito.

Chissà che tra Wheezy e Tux non c’era già una tenera amicizia. 🙂
FONTE: [1] – [2]

Python: Creare entry con autocompletamento

L’autocompletamento è sicuramente una delle funzionalità più utili per velocizzare l’uso dei nostri software ai nostri utenti. Basti vedere quanto è utile avere una lista delle possibili parole chiave ricercate quando utilizziamo un motore di ricerca.

Vediamo come realizzare una semplice completition, per un entry, scritta in pygtk.


Analizziamo il codice saltando le funzioni tipiche e basilari del linguaggio per concentrarci su quelle di nostro interesse.

Dalla riga 9 alla riga 12 abbiamo creato la nostra finestra e ci abbiamo collocato all’interno la nostra entry. Nella riga 13 si nota l’istanza per una completition. Una gtkCompletition è un oggetto ausiliare da usare in combinazione con una entry. Esso si occupa di creare il popup contenente le stringhe utili da poter poi gestire e mostrare all’interno dell’oggetto a cui esso è connesso. Nella riga successiva, 14, c’è, invcece, l’istanza per una liststore. Essa non è altro che un contenitore che si occuperà di contenere dei dati del tipo definito dal costruttore. Nel nostro caso i dati al suo interno saranno stringhe poichè al costruttore è stato passato come argomento str. Le righe 15–17 rappresentano un ciclo for che si occupa di riempire la liststore, precedentemente creata, con un passaggio iterativo dei dati contenuti in una lista. Ciò viene fatto poichè, come detto, la liststore è costruita in modo tale da contenere stringhe e perciò ogni elemento prelevato dalla nostra lista è di per sè una stringa se preso singolarmente. La riga 18 ci dice che la completition viene riempita con i dati presenti nella liststore mentre la 19 connette la completition al rispettivo metodo della nostra entry. La riga 20, come facilmente intuibile, setta una caratteristica della completition, le colonne. la riga 21, se analizzata con attenzione, mostra come un evento viene connesso alla entry in modo tale da richiamare, quando necessario, la funzione definita successivamente, autocompletamento. La riga 22 mostra il form creato.

Passiamo all’analisi della funzione autocompletamento. Come si vede essa ha due paramenti, il tradizionale self e la entry alla quale la stessa viene applicata. La riga 26 trasferisce il testo contenuto nella entry in una variabile di tipo testo e di nome text, l’if alla riga 27 controlla che tale stringa sia piena. Se text contiene qualche carattere allora c’è il controllo dell’if alla riga 28 che si occupa di ridefinire il contenuto della liststore con le stringhe filtrate con il contenuto della nostra entry.

Spero che l’analisi sia stata abbastanza dettagliata e possa essere utile a qualche sviluppatore. In caso di dubbi basta un commento.