Já faz algum tempo que o AutoCAD permitiu que os comandos fossem traduzidos para as línguas nativas ao invés de se utilizar o tradicional Inglês, nesse sentido, ainda é possível usar o comando nativo com um simples underline na frente, por exemplo, o tradicional comando "move" quando instalado na versão luso-brasileira agora pode ser um "mover" mas podemos usar ainda o "_move" para referir ao mesmo comando.
Nisso o único problema está que isso é pouco prático especialmente para quem está trabalhando com o AutoCAD a muitos milênios e entende melhor o comando como "line" do que "linha"...
Bom para todos os gostos ou não, aqui está um código que trouxe, e já estou usando no meu AutoCAD, que é exatamente um programa que ajuda o AutoCAD a reconhecer comandos nativos mesmo em instalações personalizadas sem a necessidade de uso do underline na frente do comando.
O que ele faz basicamente é depois do comando ser dito tomado como invalido recuperar o comando e incluir o underline na frente e lança-lo novamente, caso dê invalido novamente o processo para.
O código em C#:
Nisso o único problema está que isso é pouco prático especialmente para quem está trabalhando com o AutoCAD a muitos milênios e entende melhor o comando como "line" do que "linha"...
Bom para todos os gostos ou não, aqui está um código que trouxe, e já estou usando no meu AutoCAD, que é exatamente um programa que ajuda o AutoCAD a reconhecer comandos nativos mesmo em instalações personalizadas sem a necessidade de uso do underline na frente do comando.
O que ele faz basicamente é depois do comando ser dito tomado como invalido recuperar o comando e incluir o underline na frente e lança-lo novamente, caso dê invalido novamente o processo para.
O código em C#:
using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.Runtime; namespace CommandHelper { public class Commands { // Mutex to stop unknown command handler re-entrancy private bool _launched = false; [CommandMethod("CMDS")] public void CommandTranslation() { var doc = Application.DocumentManager.MdiActiveDocument; if (doc == null) return; // AutoComplete and AutoCorrect cause problems with // this, so let's turn them off (we may want to warn // the user or reset the values, afterwards) doc.Editor.Command( "_.-INPUTSEARCHOPTIONS", "_autoComplete", "_No", "_autocoRrect", "_No", "" ); // Add our command prefixing event handler doc.UnknownCommand += OnUnknownCommand; } [CommandMethod("CMDSX")] public void StopCommandTranslation() { var doc = Application.DocumentManager.MdiActiveDocument; if (doc == null) return; // Remove our command prefixing event handler doc.UnknownCommand -= OnUnknownCommand; } async void OnUnknownCommand( object sender, UnknownCommandEventArgs e ) { var doc = sender as Document; // Check to make sure we're not re-entering the handler if (doc != null && !_launched) { try { // Set the mutex flag and call our command _launched = true; await doc.Editor.CommandAsync("_" + e.GlobalCommandName); } catch { } // Let's not be too fussy about what we catch finally { // Reset our flag, now we're done _launched = false; } } } } }
Esse código está no blog do Kean Walmisley
Boa tarde, Victor, gostaria de entrar em contato com você para conversarmos sobre uma prestação de serviços sobre blocos dinâmicos, com dados a partir de planilhas excel e possíveis caixas de diálogo correlatas. Como podemos proceder esse contato?
ResponderExcluirObrigado.
Olá,
ResponderExcluirDesculpe a demora em responder, pode entrar em contato comigo pelo meu e.mail, victor.mobatista@gmail.com