Percorso HOME C# Cambiare il testo multilinea da maiuscolo a minuscolo e viceversa in AutoCAD 2011

Cambiare il testo multilinea da maiuscolo a minuscolo e viceversa in AutoCAD 2011

Cambiare il testo multilinea da maiuscolo a minuscolo e viceversa in AutoCAD 2011

Attenzione: apre in una nuova finestra. PDFStampaE-mail

Su Through the Interface è disponibile il codice in C# per la compilazione di una utility per AutoCAD 2011, che consente di cambiare velocemente il testo multilinea (TESTOM) da maiuscolo a minuscolo e viceversa, senza la necessità di aprire l'editor ma cliccando direttamente sull'oggetto testo da modificare.

L'utility si compone di due comandi: CTU e CTL. Il primo consente di trasformare il testo in maiuscolo e il secondo in minuscolo.

Il codice, che mi sono solo limitato a compilare ed è possibile scaricare alla fine di questo articolo per utilizzarlo subito in AutoCAD 2011, è riportato in questo articolo ed è il seguente:

using Autodesk.AutoCAD.ApplicationServices;

using Autodesk.AutoCAD.EditorInput;

using Autodesk.AutoCAD.DatabaseServices;

using Autodesk.AutoCAD.Runtime;

 

namespace MTextEditing

{

public class Commands

{

[CommandMethod("CTU")]

public void ChangeToUppercase()

{

ChangeCase(true);

}

 

[CommandMethod("CTL")]

public void ChangeToLowercase()

{

ChangeCase(false);

}

 

private void ChangeCase(bool upper)

{

Document doc =

Application.DocumentManager.MdiActiveDocument;

Database db = doc.Database;

Editor ed = doc.Editor;

 

// Specifically select an MText object

 

PromptEntityOptions peo =

new PromptEntityOptions(

string.Format(

"\nSelect MText to change to {0}case: ",

upper ? "upper" : "lower"

)

);

peo.SetRejectMessage("\nObject must be MText.");

peo.AddAllowedClass(typeof(MText), false);

 

PromptEntityResult per = ed.GetEntity(peo);

if (per.Status != PromptStatus.OK)

return;

 

Transaction tr =

doc.TransactionManager.StartTransaction();

using (tr)

{

// We only need our MText open for read

 

DBObject obj =

tr.GetObject(per.ObjectId, OpenMode.ForRead, false);

MText mt = obj as MText;

 

if (mt == null)

return;

 

// Create a text editor object for the MText

 

TextEditor te = TextEditor.CreateTextEditor(mt);

if (te == null)

return;

 

// Select the entire contents of the MText

 

te.SelectAll();

TextEditorSelection sel = te.Selection;

if (sel == null)

return;

 

// Check whether we can change the selection's

// case, and then do so

 

if (sel.CanChangeCase)

{

if (upper)

sel.ChangeToUppercase();

else

sel.ChangeToLowercase();

}

 

// Be sure to save the results from the editor

 

te.Close(TextEditor.ExitStatus.ExitSave);

tr.Commit();

}

}

}

}

Questo è un esempio di testo da modificare:

Testo originale prima della modifica

Ora utilizziamo il comando CTU per trasformare tutto il testo in maiuscolo:

Comando CTU: trasforma in maiuscolo

e ora invece il comando CTL per trasformarlo tutto in minuscolo:

Comando CTL: trasforma in maiuscolo

Come compilare il codice: in questo articolo ho spiegato il procedimento e indicato i software per la compilazione di utility in C#, nonchè indicato cosa si intende per compilazione di un codice. L’utility va caricata con il comando NETLOAD.

Come specificato all'inizio, l'utility è funzionante solo sulla versione di AutoCAD 2011.

Potete effettuare il download del codice che ho compilato facendo click qui.

Tags: .Net | AutoCAD | Autodesk | Csharp | Utility

In alto

Ultimi articoli

In alto

Cookie Policy

Questo sito utilizza alcuni tipi di cookie tecnici ed analytics unicamente per raccogliere informazioni in forma aggregata sul numero degli utenti che visitano il sito. Per saperne di più cliccare qui. Proseguendo la navigazione si acconsente all'uso dei cookie.

Siti amici

Inchiostro e Calamaio
Sito che nasce dall'amore per la lettura e per la letteratura

Like Bee 16
Social marketing

Link consigliati

Banner

CAD3D.it
La community dei progettisti

Autodesk Webcast
Sessioni webcast, tenute da esperti Autodesk, che vengono registrate e rese disponibili per una consultazione in differita

Comandi AutoCAD: dizionario interattivo
Dizionario interattivo in diverse lingue, con possibilità di traduzione, di tutti i comandi AutoCAD

Variabili AutoCAD: dizionario interattivo
Dizionario interattivo di tutte le variabili AutoCAD

Cronologia Comandi AutoCAD
Cronologia di tutti i comandi AutoCAD dalla versione R12 alla 2013

Cronologia Variabili AutoCAD
Cronologia di tutte le variabili AutoCAD dalla versione R12 alla 2013

Openoikos
Sito per utenti di software CAD e GIS, free e open source

Chi è online

 58 visitatori online

Licenza d'uso

CadGis.it è pubblicato con Licenza Creative Commons chiamata Attribuzione-Non commerciale-Condividi allo stesso modo 2.5 Italia.
Significa che sei libero di utilizzare tutto il materiale che trovi nel sito a condizione che ne citi sempre la fonte.

N.B.: L'uso delle informazioni e del materiale contenuto in cadgis.it implica la totale assunzione di responsabilità da parte dell'utilizzatore.

Prêt-à-porter

Prêt-à-porter CadGis
"Storico" dei loghi creati e utilizzati da CadGis nel corso del tempo

Feed

Between the Lines
Autodesk, Design, Technology, and more blog.
  • Autodesk University 2017 Day 2
    Wednesday November 15, 2017 was action packed including a sunrise yoga option for early rising attendees that was sold out....
Lynn Allen's Blog
AutoCAD Insider
Through the Interface
  • Kuala Lumpur
    Our path to Malaysia from Cairns took us via Sydney, where we had to recheck bags and change terminal. The...
Without A Net
  • Build your AutoCAD IQ!
    You are invited to join our series of free Webinars. These are technical discussions hosted by the Autodesk Product Support...
What a Mesh
LT Unlimited
  • Quick Edit Attributes
    Ever want to just edit an attribute like you would text, without going through a dialog? Guess what? You can!...
It is Alive in the Lab

Google+

Chi segue CadGis

Facebook

In alto