Escolar Documentos
Profissional Documentos
Cultura Documentos
A automatização do AutoCAD em Python abrange grande diversidade de áreas nas quais são
utilizadas, dentre elas podem se destacar:
Usando pyautocad em Python você pode controlar qual desenho deve ser o atualmente
ativo. Isso permite ajustar vários desenhos em um único script, ou seja, um único fluxo de
trabalho. Você pode alternar entre desenhos, adicionar, remover e editar elementos e acessar
ou manipular objetos relevantes do AutoCAD pertencentes ao respectivo desenho. Alguns
exemplos podem ser ActiveLayout, ActiveLayer, ActiveViewport e assim por diante.
Usando pyautocad, pythoncom e pywin32 você pode definir, editar e selecionar camadas em
um desenho. Você também pode ajustar o dimensionamento em um desenho. Adicionar e
ajustar, bem como copiar, colar ou excluir texto, também é feito facilmente com os módulos
Python para AutoCAD.
O uso do Python para AutoCAD permite converter entre vários formatos de arquivo, tanto para
importação quanto para exportação de arquivos. Você pode manipular arquivos Excel,
desenhos CAD, arquivos dxf e bmp, bem como muitos outros formatos de arquivo. Tudo isso
pode ocorrer automaticamente, ou seja, totalmente automatizado de acordo com seu
programa Python.
Sempre que adiciono objetos de um desenho ao espaço do papel, uso e ajusto as configurações
da viewport. Eu uso as configurações da janela de visualização ao produzir cópias impressas
para trocas de documentos com cais relevantes. Por exemplo, para transação de cópia
impressa entre contratante e cliente. Mesmo trabalhando com um laptop mais rápido, essas
operações consomem uma quantidade considerável de tempo. As configurações da janela de
visualização podem ser ajustadas em Python, usando, por exemplo, pyautocad
ou pywin32 . Transferir esse fluxo de trabalho para um script Python aumentará sua
produtividade ao trabalhar com o AutoCAD.
Modelagem AutoCAD 2D e 3D
Instalação fácil: O módulo pyautocad é suportado pelo pip install para uma
instalação fácil.
API
Esta parte da documentação abrange todas as interfaces do pyautocad
classepyautocad.api.Autocad(create_if_not_exists=Falso, visível=Verdadeiro)
[fonte]
app
doc
ActiveDocument
Application
O mesmo que o aplicativo
model
iter_layouts(doc=Nenhum, skip_model=Verdadeiro)[fonte]
iter_objects(object_name_or_list=Nenhum,
bloco=Nenhum, limite=Nenhum, dont_cast=Falso )[fonte]
Retorna:
Objeto se encontrado, senão Nenhum
best_interface(Obj)[fonte]
prompt(Texto)[fonte]
get_selection(text='Selecionar objetos')[fonte]
Parâmetros
Texto – Solicitação de seleção
:
estáticoaDouble(*Seq)
atalho para pyautocad.types.aDouble()
estáticoaInt(*Seq)
atalho para pyautocad.types.aInt()
estáticoaShort(*Seq)
atalho para pyautocad.types.aShort()
pyautocad.api.ACAD
text.Alignment = ACAD.acAlignmentRight
x coordenada do ponto 3D
coordenada y do ponto 3D
coordenada z do ponto 3D
distance_to(Outros__________)[fonte]
pyautocad.types.distance(p1, p2)[fonte]
pyautocad.types.aDouble(*Seq)[fonte]
pyautocad.types.aInt(*Seq)[fonte]
pyautocad.types.aShort(*Seq)[fonte]
pyautocad.utils.timing(Mensagem)[fonte]
Uso:
pyautocad.utils.suppressed_regeneration_of (mesa)[fonte]
Parâmetros
mesa – objeto de tabela
:
with suppressed_regeneration_of(table):
populate(table) # or change its properties
pyautocad.utils.mtext_to_string (s)[fonte]
pyautocad.utils.string_to_mtext (s)[fonte]
pyautocad.utils.text_width(text_item)[fonte]
pyautocad.utils.dynamic_print(Texto)[fonte]
CSV
XLS
xlsx (somente gravação)
json
Quando você precisa armazenar alguns dados, isso pode ser feito da
seguinte maneira:
table = Table()
for i in range(5):
table.writerow([i, i, i])
table.save('data.xls', 'xls')
Para importar dados do arquivo, use data_from_file() :
data = Table.data_from_file('data.xls')
writerow(remar)[fonte]
append(remar)[fonte]
Sinônimo de writerow()
clear()[fonte]
convert(Fmt)[fonte]
classepyautocad.cache.Cached(exemplo)[fonte]
class Foo(object):
@property
def x(self):
print 'consuming time'
time.sleep(1)
return 42
Armazene em cache todos os atributos e teste o acesso:
foo = Foo()
cached_foo = Cached(foo)
for i in range(10):
print cached_foo.x
Saída:
consuming time
42
42
42
42
42
É possível desativar o cache com switch_caching() e recuperar a
instância original com get_original()
get_original()[fonte]
switch_caching(is_enabled)[fonte]