Thursday, August 25, 2016

Novidades GraphicSpeak

Novidades GraphicSpeak


Versus is quite possibly the best video introduction for a software update this year

Posted: 24 Aug 2016 08:00 AM PDT

In 1:28 the main new features of Cinema 4D Release 18 are presented without a word. I was gobsmacked by the new short video (below) that introduces Maxon Cinema 4D Release 18. The trained eye will recognize the new technology, while the rest of us will just appreciate how clever and visually appealing "Versus" is, introducing [...]

SolidWorks e as Dicas do Kastner

SolidWorks e as Dicas do Kastner


Cara nova – Aniversário

Posted: 23 Aug 2016 08:39 PM PDT

Senhores,

Como muitos poderão notar, o site momentaneamente está com uma cara nova.

Melhorias existirão nas próximas semanas.

Quem viver verá.

O objetivo é comemorarmos o aniversário do blog com todos com novas ferramentas e integrações.

Conto com a compreensão de todos.

O post Cara nova – Aniversário apareceu primeiro em SolidWorks e as dicas do Kastner.

SolidWorks Motion

Posted: 19 Aug 2016 12:29 PM PDT

Senhores,

Estou numa série de testes de publicações e integrações sociais do blog. Para isso, estou compartilhando vídeos aleatórios e pertinentes ao SolidWorks.

Abaixo segue um vídeo do SolidWorks Motion com uma animação baseada em gerenciamento de eventos.

Sds,
Kastner

O post SolidWorks Motion apareceu primeiro em SolidWorks e as dicas do Kastner.

SolidWorks Visualize – Vídeo

Posted: 19 Aug 2016 10:45 AM PDT

Senhores,

Muitos tem dúvidas no funcionamento do SolidWorks Visualize.

Abaixo segue um vídeo onde eu encontrei uma apresentação completa sobre o mesmo.

Compartilhem se acharem legal.

Sds,
Kastner

O post SolidWorks Visualize – Vídeo apareceu primeiro em SolidWorks e as dicas do Kastner.

Webinar – SolidWorks Toolbox

Posted: 16 Aug 2016 05:23 PM PDT

Senhores,
Conforme muitos que acompanham a página já sabem, adoro falar do SolidWorks Toolbox. Quero compartilhar com todos o Webinar gravado
solidworks-Features-ToolBox-Nuts-Bolts-Washers[1][5]
Eu possuo séries sobre este assunto já aqui no blog, conforme alguns links abaixo
http://kastner-com-br.umbler.net/2011/08/01/toolbox-cadastrando-descricoes-de-componentes-parte-1/
http://kastner-com-br.umbler.net/2011/08/02/toolbox-cadastrando-descricao-de-componentes-parte-2/
Como tem muita coisa envolvida no processo, recriei o processo com um Webinar encomendado pela equipe do SKA Forum.
Segue abaixo o conteúdo produzido no canal do You Tube.

Sds,
Kastner

O post Webinar – SolidWorks Toolbox apareceu primeiro em SolidWorks e as dicas do Kastner.

Produtividade na Engenharia

Posted: 10 Aug 2016 06:00 AM PDT

Senhores,

Nas empresas sempre existem as pessoas que gostam de conversar com os clientes pessoalmente ou pela internet. Na SKA não é diferente.

Neste post segue uma lista de vídeos do meu colega Rafael Souza, confiram o linkedin dele.

https://www.linkedin.com/in/rafaelska

A seguir, vocês encontram compartilhada uma lista do You Tube onde ele conversa sobre engenharia e dicas de produtividade.

Das coisas que ele fala:

  • SolidWorks
  • Engenharia
  • Indicadores
  • ERP

Entrem, confiram e comentem aqui

Sds,
Kastner

O post Produtividade na Engenharia apareceu primeiro em SolidWorks e as dicas do Kastner.

Convite Webinar – SolidWorks Toolbox

Posted: 09 Aug 2016 01:06 PM PDT

Senhores

Segue abaixo o convite para o Webinar promovido pela equipe do suporte técnico da SKA, a equipe do SKA Fórum.

Todos já viram a série sobre o SolidWorks Toolbox promovida aqui no blog mas baseada nela teremos abordados os seguintes tópicos:

  • Instalação do SolidWorks Toolbox
  • Processos de atualização
  • Cadastro das informações de listas de materiais

Com isso, o Webinar desta sexta-feira estará demonstrando tudo o que os usuários necessitam para administrar os seus ambientes de projeto.

Cliquem no link abaixo para realizarem a inscrição no evento.

https://gruposka.webex.com/gruposka/onstage/g.php…

Bem,

O convite é uma oportunidade única para que todos possam interagir e questionar sobre eventuais problemas.

Além disso,

Compartilhem a postagem e convidem os seus amigos.

Esse evento é organizado pelas equipes da SKA e SKA Fórum

Sds,
Kastner

O post Convite Webinar – SolidWorks Toolbox apareceu primeiro em SolidWorks e as dicas do Kastner.

Case de Sucesso – SolidWorks Visualize

Posted: 04 Aug 2016 12:43 PM PDT

playtix_render2Senhores,

A pedido da equipe da SKA, estou compartilhando com todos um case de sucesso de um usuário do SolidWorks visualize. Vejam o depoimento do cliente.

Playtix inova no marketing de produto com SOLIDWORKS Visualize

Referência em inovação de tecnologias interativas e suas aplicações, a Playtix se dedica a criar, desenvolver e fornecer monitores e terminais interativos para o Brasil e outros países. Atua sob demanda e também com uma linha exclusiva de produtos.

Recentemente adotou uma nova forma de gerar conteúdo gráfico para o marketing de produto, ao trazer para dentro da sua engenharia o SOLIDWORKS Visualize, ferramenta que cria imagens com qualidade fotográfica e que gera conteúdo de forma rápida, ajudando a promover o quanto antes os últimos lançamentos da Playtix na internet e em materiais de divulgação impresso. Aliás, uma das estratégias de negócios da empresa é a distribuição de produtos através da sua loja virtual.

Mercado dinâmico exige lançamento de produtos em cada vez menos tempo

A dinâmica do mercado de tecnologia interativa exige que os projetistas da Playtix lancem produtos cada vez mais rápido. O Visualize é um grande aliado pois traz agilidade às publicações. Segundo o Coordenador do Suporte da empresa, houve uma redução significativa no tempo que levavam para fazer o marketing de produto.

Antes do SOLIDWORKS Visualize, esse tempo girava em torno de 30 dias (ou mais quando o projeto era realizado fora da empresa ou em conjunto com projetistas de seus clientes), envolvendo modelagem, fabricação, pintura, fotografia e edição. “Pulamos algumas etapas e ganhamos significativamente em qualidade das imagens. Agora é possível fazer a renderização de um produto a partir do projeto na tela do computador e lançá-lo na metade do tempo que levávamos antes", conta o responsável pelo processo de marketing da empresa.

Curva de aprendizagem rápida da ferramenta garantiu agilidade ao trabalho

O Diretor da empresa ressalta a rapidez com que os projetistas saíram usando a ferramenta. Em menos de um mês a empresa adquiriu a solução, aprendeu a usar, colocou em prática e lançou um novo produto na loja virtual. "O SOLIDWORKS Visualize possui uma curva de aprendizagem bastante rápida. Em uma semana já sabíamos usar e lançamos nosso primeiro produto com ajuda da ferramenta, que ainda exigia certos retoques. Em um mês, já dominamos o assunto e a imagem do produto saiu do jeito que queríamos".

 

totem_playtix

playtix_render2

playtix_render

O post Case de Sucesso – SolidWorks Visualize apareceu primeiro em SolidWorks e as dicas do Kastner.

Como instalar o SolidWorks – Webinar gravado

Posted: 06 Jul 2016 04:00 AM PDT

Senhores

Segue um vídeo de um Webinar no qual eu demonstro o processo de configuração da instalação do SolidWorks.

Todo o processo inclui

  • Download
  • Instalação
  • Instalação de múltiplas estações
  • Atualização de versões
  • Resolução de problemas

Vejam o post completo e confiram o vídeo.

Sds,
Kastner

O post Como instalar o SolidWorks – Webinar gravado apareceu primeiro em SolidWorks e as dicas do Kastner.

Convite para o Webinar – SolidWorks RX

Posted: 05 Jul 2016 12:59 PM PDT

Senhores,

^2678A4074184E7B280E275715F688E92E350673AC3780DB6B0^pimgpsh_fullsize_distrEm cinco etapas o próximo Webinar produzido pela equipe de suporte técnico da SKA ensinará o usuário a interpretar o seu SolidWorks e a entender o seu sistema, através do SolidWorks RX. Serão com as ferramentas abaixo:

  • Diagnóstico
  • Consulta a base de conhecimento
  • Análise de Benchmark
  • Criação de vídeos descritivos
  • Realização de manutenções de sistema

Serão 30 minutos com os procedimentos descritos de forma expositiva

Segue o vídeo com o meu convite logo abaixo

http://bit.ly/29oSUSn

Sds,
Kastner

O post Convite para o Webinar – SolidWorks RX apareceu primeiro em SolidWorks e as dicas do Kastner.

Localizar peças para um projeto

Posted: 05 Jul 2016 09:21 AM PDT

Senhores,

Muitas vezes nos perdemos em realizar projetos de máquinas e equipamentos. Nunca sabemos onde determinado componente encontra-se em nossa base de projetos, não?

Confiram abaixo o vídeo onde o Gerente técnico da SolidWorks, Thiago Amorim, demonstra a ferramenta de pesquisa do SolidWorks.

Comentem o que acharam

Sds,
Kastner

O post Localizar peças para um projeto apareceu primeiro em SolidWorks e as dicas do Kastner.

Wednesday, August 24, 2016

Novidades GraphicSpeak

Novidades GraphicSpeak


Intel focuses on IoT for day 1 of IDF

Posted: 23 Aug 2016 03:33 PM PDT

Intel is making major shifts in its focus. Careful not to rattle investors or confuse developers and attendees, the opening keynote from Intel CEO Brian Krzanich offered few surprises, but rather served as a statement of position.

CADfix contributes to UK study of high-end mesh geometry use

Posted: 23 Aug 2016 08:00 AM PDT

Automated generation of high quality meshes will aid CFD simulation for aerospace and other demanding engineering tasks. The UK government, working with private software companies, recently finished a three-year study of advanced geometry handling and integration for industrial use. The study, known as GHandI (Geometry Handling and Integration), resulted in new capabilities in the automatic [...]

Tuesday, August 23, 2016

cadcamstuff.com

cadcamstuff.com


Connect Design to Machining— Once Difficult, Now Easy

Posted: 23 Aug 2016 07:36 AM PDT

Connect Design to Machining
Could you imagine the design and manufacturing team work in a connected, collaborate environment? Be on the same page as the design goes through design changes, and you would not have to worry when CNC toolpaths need updates?
It's called Connect Design to Machining— Once Difficult, Now Easy…

There is no reason to argue the phrase “Because that is the way we have always done it…” is the stupidest reason for doing anything. However, the reason people are still holding on to this behavior is that of distrust and lack of confidence.

I know that there have been times where I decided to start all over and completely re-program a part when faced with a few design changes. This is happens when there is a disconnect between design and machining.

One question could be: is the CAM system older than the CNC programmer himself? The software is simply not up to today's standards. Another: are the design changes not communicated clearly enough? CNC Programmers demand clarity! Both scenarios are too risky to gamble when your job could depend on getting the part right.

Connect Design to Machining 2D

Take a look at the new, full-blown CAD/CAM system: Fusion 360 from Autodesk; this is the manufacturing software that will take you to the Future of Making Things.

First and most important, the magic of having your toolpaths connected directly to the same geometry the designer used to create the part. No disconnect and no invading each other’s spaces. It is simple: the design updates, the toolpaths are flagged, and the CNC programmer can update with a click of a button.

No need to send files by email, convert your data into other formats or ask people to download viewers. From within Fusion, you can share your design by using nothing other than their email address. They can view, measure and make markups in their web browser. And, don’t worry about platforms—This runs on Windows, Linux, Mac, even on mobile devices.

We have never been busier in the manufacturing world. Design changes are more frequently, as no one has the time to sit down and double check anything. You need to have a design and manufacturing package that can be flexible and help to keep track of things.

You costumers will demand that you can handle change. Within Fusion 360, everything is version-controlled in the background, so everyone can go back and forward between design changes. Your manufacturing department doesn’t have to stall, since there are no trust and confidence issues, as the design is connected directly to the machining toolpaths.
To put it simply: more money can now be made.

Check out this video:

Link to video

Novidades GraphicSpeak

Novidades GraphicSpeak


Taking the HP Omen virtual reality backpack for a test walk

Posted: 22 Aug 2016 08:00 AM PDT

Jon Peddie is "genuinely delighted" by the possibilities this wearable PC offers. By Jon Peddie When HP announced the Omen X VR backpack computer in May, I said, "Wow! — I bet they'll sell hundreds of them." I may have to eat those words, and it would delight me if I do. The problem with [...]

Monday, August 22, 2016

Soon, artificial human organs may be used to personalize drug prescriptions

Soon, artificial human organs may be used to personalize drug prescriptions


Soon, artificial human organs may be used to personalize drug prescriptions

Posted: 22 Aug 2016 09:42 AM PDT

 

product-fe7-quartz

 

 

By: Quartz creative services

 

A team in Luxembourg has developed a machine that can mimic the physical and biological conditions inside your digestive system. Just add a pinch of your personal microbiome and watch how your body would react to certain foods or drugs. Is this the future of personalized medicine?

At a microscopic level, about 100 trillion bacteria live in and around your body, with a large proportion residing in your gut. The kind you find in yogurt and fermented tea, Lactobacillus acidophilus, is one of the most common, but there are hundreds of varieties. Each individual has a slightly different mixture of bacteria, and it's known as your "microbiome."

Medical research has begun to pay more attention to these gut flora since 2012, when the NIH, FDA, and DARPA began funding studies into machines which might explore the link between your microbiome and your risk for diseases like diabetes, obesity, IBD, and Crohn's. Even some neurodegenerative diseases have been shown to have some link to your bacterial cocktail, and research suggests these critters have an effect on your everyday cognitive functions, too.

Until recently it has been impossible to actually use these gut flora outside the body—to simulate a real human reaction to a drug compound, for example. If put in just the right environment, such a simulation could help doctors predict an individual's response to pharmaceuticals, foods, allergens, supplements, and environmental factors, opening up the promising possibility of creating personalized treatments that could drastically reduce the likelihood of disease, drug interactions, and costly post-hoc treatments.

The implications for drug personalization are particularly profound. According to the FDA, adverse drug reactions are the fourth largest cause of death in the United States, causing over 106,000 deaths annually. Stimulated human organs, such as a machine-based human gut, offer the opportunity to run predictive pharmaceutical tests on the efficacy and safety of various drug compounds. The findings from such tests could inform which drugs doctors choose to administer to patients and reduce the likelihood of drug interactions in individuals being treated for more than one condition.

 

What's so hard about simulating a human organ?

"In the gut, you have really strict requirements in terms of the oxygen concentrations," says Pranjul Shah, PhD and cofounder of Orgamime, the Luxembourg-based biotech startup whose gut-on-a-chip machine received wide acclaim in June 2016 following the publication of its white paper in the journal Nature.

The challenge, Shah says, is reproducing the exact bacterial habitat as it exists inside the intestines, a complex task. "Human cells need oxygen to survive and thrive, [but] the bacteria need to be in a steep, zero-oxygen environment," says Shah. In the gut, two environments—aerobic and anaerobic—exist within a few microns of each other. It's hard to build a machine from plastic and simulated mucous that can do the same thing. "This gradient is so steep that many other systems which have tried to do that have failed to achieve it," he says.

Plus, the machine needs to reproduce the physical changes caused by food material passing by, an effect called "shear." "The bacteria are used to some kind of shear in the gut because it’s a constantly pulsating environment," says Shah.

 

Will gut-on-a-chip machines change what you choose to eat?

The food industry, rife with pseudoscience, will also be transformed. While machines like Orgamime's can facilitate personalization of drug compounds, they could also be used to verify food manufacturers' health claims, or definitively prove whether ingredients like high-fructose corn syrup are actually bad for humans.

"There have been a couple of papers which came out very, very recently that say that artificial sugars—not natural sugars, but artificial sugars—are really a big problem," says Shah. The true link between high-fructose corn syrup, gut flora, and diabetes might be deduced using gut machines like Orgamime's. Shah, whose family has a history of diabetes, has already stopped consuming high-fructose corn syrup. "If you get the Mexican Coca-Cola, it's real sugar," he says. "Even when I’m traveling in the US, if I have an option, I ask for the Mexican Coke."

Also on trial will be yogurts, the health claims of which will have to be substantiated with data, Shah predicts. "We’re getting a lot of requests from companies which are selling off-the-shelf probiotics which claim to boost your memory or help you lose weight," he says.

Straight-up bacteria might even become a food group, of sorts. Bacterial transplants, already shown to be effective for treating the GI tracts of immuno-suppressed individuals, might become commonplace for all patients after a surgery or bout of illness. Family members might lend you their strains, or doctors might mix up completely artificial cocktails as substitutes and test their effects in a machine. The point is, it will be highly customized to you.

"A most suitable donor could be chosen based on your genetic makeup, the current system of bacteria that you have, and your diet, your stress level, your lifestyle, and the environment that you live in," says Shah.

 

How can we prove the gut-on-a-chip actually works?

Shah began working full time on his machine in 2011 alongside Orgamime's cofounder Sivakumar Bactavatchalou. Though it began while Shah was a PhD student in life sciences, the project now incorporates recent advances in electrical engineering, IT, and 3D printing. It is comprised of eight computer-controlled bacteria chambers, each of which mimics a different segment of the human intestinal tract.

To prove their simulation was accurate, Shah and Bactavatchalou conducted two published clinical studies (one in Europe, one in South America) to see if they could predict human subjects' reactions to probiotics. Patients were first endoscoped to take a sample of gut material, then given six weeks of probiotic therapy with a live culture known as Lactobacillus rhamnosus, or LGG, commonly found in yogurt.

In gut science, one marker of impact for a probiotic supplement is your body's secretion of proteins called cytokines, which send signals to other cells. Whether or not these cytokines are pro-inflammatory—a sign the body is being attacked, and invoking an immune response to deal with the threat—can be assessed by looking at the RNA excreted by the cytokines.

When Shah tested his patients' RNA secretions alongside the Orgamime simulated gut, the results were identical. "We took the same bacteria, same type of cells, same conditions—and we see exactly the same genes to be influenced in our system at the molecular level," Shah says.

 

What this means for existing drugs

About 30 percent of new pharmaceuticals fail in human clinical trials despite promising animal tests, according to the NIH. Orgamime's technology could call into question every compound discarded by drug companies over the past 50 years. Those compounds can now be re-assessed for usefulness as a result of the more accurate simulated-human testing that has become available. Anywhere from 300,000 to 500,000 discarded compounds could be re-tested.

"I expect every pharmaceutical industry will open up their closets to startups," says Shah.

But first, the FDA must approve the validity of machines like Orgamime's. The department has announced it will begin clinical trials sometime in 2017. "If something like this happens," says Shah, "it’s going to be the biggest game changer in the field of medicine, at least in the drug testing and development, in the last 50 years.

 

To discuss this and other topics about the future of technology, finance, life sciences and more, join the Future Realities discussion on LinkedIn.

This article was produced by Quartz creative services and not by the Quartz editorial staff.

Autocad Interface

Autocad Interface


My entry for Autodesk’s first Global Hackathon: a HoloLens-based tool for navigating low visibility environments

Posted: 22 Aug 2016 01:46 AM PDT

We have an internal company Hackathon being held at Autodesk locations around the world on September 6th and 7th. The theme for the event is "What's Next?" and there are variety of sub-themes under which the hacks can fall: Computer as collaborator Future of product interfaces Internet of Things Social good / Sustainability The future of anything else I signed up some time ago to be an "evangelist" for the event, which means I'm a resource for people in the local Neuchatel office should they have questions about VR/AR and IoT (which fall under the second and third sub-themes,...

Programação API Autodesk Inventor

Programação API Autodesk Inventor


Drive robot arm in Fusion - update

Posted: 22 Aug 2016 08:06 AM PDT

Actually, modifying the Alignment Angle wasn't the best thing to do in my previous article. I should have played with the RevoluteJointMotion.rotationValue instead. That's what the "Drive Joints" command is modifying as well. And this way the Joint Limits will be honoured too :)

DriveJoints

I also improved things a bit so that now you can select the two Revolute Joints that you want to drive using the command:

#Author-  #Description-    import adsk.core, adsk.fusion, adsk.cam, traceback    # Global variable used to maintain a reference to all event handlers.  handlers = []    # Other global variables  commandName = "MoveRobot"  app = adsk.core.Application.get()  if app:      ui = app.userInterface        revoluteJoint1 = None  revoluteJoint2 = None  isReverseUpDown = False  isReverseLeftRight = False  revolutionStep = 0.1    # Event handler for the keyDown event.  class MyKeyDownHandler(adsk.core.KeyboardEventHandler):      def __init__(self):          super().__init__()      def notify(self, args):          try:              eventArgs = adsk.core.KeyboardEventArgs.cast(args)              keyCode = eventArgs.keyCode                                    if keyCode == adsk.core.KeyCodes.UpKeyCode:                  if isReverseUpDown:                      diffVal = -revolutionStep                  else:                      diffVal = revolutionStep                  motion = revoluteJoint1.jointMotion                  motion.rotationValue = motion.rotationValue + diffVal              elif keyCode == adsk.core.KeyCodes.DownKeyCode:                  if isReverseUpDown:                      diffVal = revolutionStep                  else:                      diffVal = -revolutionStep                                 motion = revoluteJoint1.jointMotion                  motion.rotationValue = motion.rotationValue + diffVal              elif keyCode == adsk.core.KeyCodes.LeftKeyCode:                  if isReverseLeftRight:                      diffVal = -revolutionStep                  else:                      diffVal = revolutionStep                                  motion = revoluteJoint2.jointMotion                  motion.rotationValue = motion.rotationValue + diffVal              elif keyCode == adsk.core.KeyCodes.RightKeyCode:                  if isReverseLeftRight:                      diffVal = revolutionStep                  else:                      diffVal = -revolutionStep                                  motion = revoluteJoint2.jointMotion                  motion.rotationValue = motion.rotationValue + diffVal                            # Refresh the view to show the change              vp = app.activeViewport              vp.refresh()                        except:              ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))                  # Event handler for the inputChanged event.  class MyInputChangedHandler(adsk.core.InputChangedEventHandler):      def __init__(self):          super().__init__()      def notify(self, args):          eventArgs = adsk.core.InputChangedEventArgs.cast(args)            commandInput = eventArgs.input          if commandInput.id == commandName + '_step':              global revolutionStep              revolutionStep = commandInput.value          elif commandInput.id == commandName + '_reverseUpDown':              global isReverseUpDown              isReverseUpDown = commandInput.value          elif commandInput.id == commandName + '_reverseLeftRight':              global isReverseLeftRight              isReverseLeftRight = commandInput.value                      # Event handler for the executePreview event.  class MyExecutePreviewHandler(adsk.core.CommandEventHandler):      def __init__(self):          super().__init__()      def notify(self, args):          eventArgs = adsk.core.CommandEventArgs.cast(args)                    # Make it accept the changes whatever happens          eventArgs.isValidResult = True              class MyCommandCreatedHandler(adsk.core.CommandCreatedEventHandler):          def __init__(self):          super().__init__()              def notify(self, args):          try:              command = adsk.core.Command.cast(args.command)                            # Subscribe to the various command events              onInputChanged = MyInputChangedHandler()              command.inputChanged.add(onInputChanged)              handlers.append(onInputChanged)                onExecutePreview = MyExecutePreviewHandler()              command.executePreview.add(onExecutePreview)              handlers.append(onExecutePreview)                        onKeyDown = MyKeyDownHandler()              command.keyDown.add(onKeyDown)              handlers.append(onKeyDown)                            onDestroy = MyCommandDestroyHandler()              command.destroy.add(onDestroy)              handlers.append(onDestroy)                            inputs = command.commandInputs              inputs.addTextBoxCommandInput(                  commandName + '_usage',                   'Usage:',                   'Use the arrow buttons to drive the robot arm', 2,                   True);              inputs.addValueInput(                  commandName + '_step',                   'Rotation step: ',                  'deg',                  adsk.core.ValueInput.createByReal(revolutionStep))                              inputs.addBoolValueInput(                  commandName + '_reverseUpDown',                  'Reverse Up/Down direction',                  True,                  '',                  isReverseUpDown)              inputs.addBoolValueInput(                  commandName + '_reverseLeftRight',                  'Reverse Left/Right direction',                  True,                  '',                  isReverseLeftRight)                             except:              ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))                                            class MyCommandDestroyHandler(adsk.core.CommandEventHandler):      def __init__(self):          super().__init__()      def notify(self, args):          try:              commandDefinitions = ui.commandDefinitions              # Check the command exists or not              cmdDef = commandDefinitions.itemById(commandName)              if cmdDef:                  cmdDef.deleteMe                                                # When the command is done, terminate the script              # this will release all globals which will remove all event handlers              adsk.terminate()                        except:              ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))                                      def run(context):      try:          product = app.activeProduct          design = adsk.fusion.Design.cast(product)          if not design:              ui.messageBox('It is not supported in current workspace, please change to MODEL workspace and try again.')              return                        # Get selected Revolute Joints to work on           selections = app.userInterface.activeSelections          if selections.count != 2:              ui.messageBox("The 2 revolute joints you want to control need to be selected before running the command!")              return                    global revoluteJoint1, revoluteJoint2          revoluteJoint1 = selections.item(0).entity          revoluteJoint2 = selections.item(1).entity                                    commandDefinitions = ui.commandDefinitions          # Check the command exists or not          cmdDef = commandDefinitions.itemById(commandName)          if not cmdDef:              cmdDef = commandDefinitions.addButtonDefinition(                  commandName, commandName, commandName, '')             # Subscribe to events           onCommandCreated = MyCommandCreatedHandler()          cmdDef.commandCreated.add(onCommandCreated)          # Keep the handler referenced beyond this function          handlers.append(onCommandCreated)                    # Run the command          inputs = adsk.core.NamedValues.create()          cmdDef.execute(inputs)            # Prevent this module from being terminated when the script returns,           # because we are waiting for event handlers to fire          adsk.autoTerminate(False)        except:          ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))  

MoveRobotCommand

-Adam

Drive robot arm in Fusion

Posted: 21 Aug 2016 11:56 AM PDT

Note: this article has an update

If you want to write a program that drives the model then you can do that through driving parameters. I have the following simple model with Revolute Joints. These types of joints also have an Alignment Angle parameter which we can modify programmatically as well :)

RobotArmJoints

I wanted to drive the model through the arrow buttons on the keyboard. Fusion API provides a keyDown event through the Command object. So in order to use it we need to define a command and run it. Since we are modifying the model before the user clicks "OK" on the command dialog, therefore we also need to listen to the executePreview event of the Command. There we can set the isValidResult to True. This way if the user clicks "OK" then the changes will be kept without us having to redo the changes inside the execute event handler. It's like so because each command automatically starts a transaction which gets undone by default right before the program creates the final model changes inside the execute event handler. 

See the Python code below:

#Author-  #Description-    import adsk.core, adsk.fusion, adsk.cam, traceback    # Global variable used to maintain a reference to all event handlers.  handlers = []    # Other global variables  commandName = "MoveRobot"  app = adsk.core.Application.get()  if app:      ui = app.userInterface          # Event handler for the keyDown event.  class MyKeyDownHandler(adsk.core.KeyboardEventHandler):      def __init__(self):          super().__init__()      def notify(self, args):          try:              eventArgs = adsk.core.KeyboardEventArgs.cast(args)              keyCode = eventArgs.keyCode                                    paramName = ""              diffVal = 0              if keyCode == adsk.core.KeyCodes.DownKeyCode:                  paramName = "d41"                  diffVal = -0.1              elif keyCode == adsk.core.KeyCodes.UpKeyCode:                  paramName = "d41"                  diffVal = 0.1              elif keyCode == adsk.core.KeyCodes.LeftKeyCode:                  paramName = "d59"                  diffVal = -0.1              elif keyCode == adsk.core.KeyCodes.RightKeyCode:                  paramName = "d59"                  diffVal = 0.1                    design = app.activeProduct              params = design.allParameters                               param = params.itemByName(paramName)              newVal = param.value + diffVal              param.value = newVal                            adsk.doEvents()           except:              ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))                    # Event handler for the executePreview event.  class MyExecutePreviewHandler(adsk.core.CommandEventHandler):      def __init__(self):          super().__init__()      def notify(self, args):          eventArgs = adsk.core.CommandEventArgs.cast(args)                    # Make it accept the changes whatever happens          eventArgs.isValidResult = True              class MyCommandCreatedHandler(adsk.core.CommandCreatedEventHandler):          def __init__(self):          super().__init__()              def notify(self, args):          try:              command = adsk.core.Command.cast(args.command)                            onExecutePreview = MyExecutePreviewHandler()              command.executePreview.add(onExecutePreview)              handlers.append(onExecutePreview)                        onKeyDown = MyKeyDownHandler()              command.keyDown.add(onKeyDown)              handlers.append(onKeyDown)                            onDestroy = MyCommandDestroyHandler()              command.destroy.add(onDestroy)              handlers.append(onDestroy)                            inputs = command.commandInputs              inputs.addTextBoxCommandInput(                  commandName + '_textBox', 'Usage:',                   'Use the arrow buttons to drive the robot arm', 2,                   True);          except:              ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))                                            class MyCommandDestroyHandler(adsk.core.CommandEventHandler):      def __init__(self):          super().__init__()      def notify(self, args):          try:              commandDefinitions = ui.commandDefinitions              # Check the command exists or not              cmdDef = commandDefinitions.itemById(commandName)              if cmdDef:                  cmdDef.deleteMe                                                # When the command is done, terminate the script              # this will release all globals which will remove all event handlers              adsk.terminate()          except:              ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))                                      def run(context):      try:          product = app.activeProduct          design = adsk.fusion.Design.cast(product)          if not design:              ui.messageBox('It is not supported in current workspace, please change to MODEL workspace and try again.')              return          commandDefinitions = ui.commandDefinitions          # Check the command exists or not          cmdDef = commandDefinitions.itemById(commandName)          if not cmdDef:              cmdDef = commandDefinitions.addButtonDefinition(                  commandName, commandName, commandName, '')             onCommandCreated = MyCommandCreatedHandler()          cmdDef.commandCreated.add(onCommandCreated)          # Keep the handler referenced beyond this function          handlers.append(onCommandCreated)          inputs = adsk.core.NamedValues.create()          cmdDef.execute(inputs)            # Prevent this module from being terminated when the script returns,           # because we are waiting for event handlers to fire          adsk.autoTerminate(False)        except:          ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))  

Here is the script in action:

-Adam

Saturday, August 20, 2016

Novidades GraphicSpeak

Novidades GraphicSpeak


Disney Animation’s Matterhorn advances particle graphics

Posted: 19 Aug 2016 08:00 AM PDT

Initially creating snow for Frozen, it now works with mud, foam, sand and more. By Amina Saeed Disney graphics scientists have recently published a paper on Matterhorn, the physics-based graphics simulator behind the 2013 Disney hit Frozen. Matterhorn uses Material Point Method (MPM), which it says is "highly efficient at simulating large amounts of snow [...]

Friday, August 19, 2016

SolidWorks e as Dicas do Kastner

SolidWorks e as Dicas do Kastner


SolidWorks Motion

Posted: 19 Aug 2016 12:29 PM PDT

Senhores,

Estou numa série de testes de publicações e integrações sociais do blog. Para isso, estou compartilhando vídeos aleatórios e pertinentes ao SolidWorks.

Abaixo segue um vídeo do SolidWorks Motion com uma animação baseada em gerenciamento de eventos.

Sds,
Kastner

SolidWorks Visualize – Vídeo

Posted: 19 Aug 2016 10:45 AM PDT

Senhores,

Muitos tem dúvidas no funcionamento do SolidWorks Visualize.

Abaixo segue um vídeo onde eu encontrei uma apresentação completa sobre o mesmo.

Compartilhem se acharem legal.

Sds,
Kastner

Autocad Interface

Autocad Interface


Using HoloLens to display diagnostic information for building components

Posted: 19 Aug 2016 07:17 AM PDT

I've been looking at using HoloLens for more "serious" applications (yes, beyond dancing robots :-). One simple prototype I've worked on over the last few weeks – once again with the help of Tom Eriksson, who did another stellar job transforming the CAD data into a good-looking Unity model – is to show an electrical transformer and allow the user to pinpoint a technical problem inside it for the purposes of (hopefully predictive) maintenance. Here's a quick demo video, showing a prototype where we open up the electrical transformer and show its insides before scaling and exploding it and...

Novidades GraphicSpeak

Novidades GraphicSpeak


Nvidia enables OpenAI with 170 TFLOPS

Posted: 18 Aug 2016 08:00 AM PDT

CEO hand-delivers an artificial intelligence supercomputer to non-profit researchers.   At the GPU Technology Conference in April, Nvidia introduced its supercomputer in a box, the DGX-1. Now Nvidia has delivered one to OpenAI, a non-profit artificial intelligence research company based in San Francisco. The OpenAI website says the group goal is to "advance digital intelligence [...]