首页 > 编程语言 >C# TEKLA 二次开发,将exe整合到TEKLA界面中

C# TEKLA 二次开发,将exe整合到TEKLA界面中

时间:2024-02-03 21:00:15浏览次数:24  
标签:TEKLA Tekla exe %% exeProcessName 二次开发 using Structures

类似这种,避免每次去找exe文件.

 

流程,

1# 准备cs macro文件和图标文件

下面的是宏的内容

using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
using Tekla.Structures.ModelInternal;
using Tekla.Structures.Internal;
using System;

namespace Tekla.Technology.Akit.UserScript
{
    public class Script
    {
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            string exeProcessName = "SWH.Tekla.Commands";//exe的文件名称
            string exeFileDirName = Environment.GetEnvironmentVariable("OneDrive") +
                    "\\MyCodeHub\\SWH.Tekla.Commands\\bin\\Debug\\";//发布的exe的目录

            string exeNetDriveFileName = Path.Combine(exeFileDirName, exeProcessName + ".exe");//最新的exe的目录
            string exeLocalDriveFileName = Path.Combine(Path.GetTempPath(), exeProcessName + ".exe");//本机的exe的目录
            var pros = Process.GetProcessesByName(exeProcessName);
            if (pros.Length == 0)
            {
                Process NewProcess = new Process();
                if (File.Exists(exeNetDriveFileName))
                {
                    File.Copy(exeNetDriveFileName, exeLocalDriveFileName, true);
                    NewProcess.StartInfo.FileName = exeLocalDriveFileName;
                    try
                    {
                        NewProcess.Start();
                    }
                    catch
                    {
                        MessageBox.Show("Starting " + exeLocalDriveFileName + " failed.");
                    }
                }
                else MessageBox.Show(exeNetDriveFileName + " not found.");
            }
            else
            {
                MessageBox.Show(exeProcessName + "已开启,无需重复开启!");
            }
        }
    }
}

2#将cs文件和图标复制到对应的目录

下面的复制的脚本

echo off rem //C:\ProgramData\Trimble\Tekla Structures\2022.0\Environments\common\macros\modeling
rem //C:\ProgramData\Trimble\Tekla Structures\2022.0\Environments\common\macros\drawings
set modelingDir="C:\ProgramData\Trimble\Tekla Structures\2022.0\Environments\common\macros\modeling"
set drawingsDir="C:\ProgramData\Trimble\Tekla Structures\2022.0\Environments\common\macros\drawings"
echo

for %%a in (*.cs) do copy %%a %modelingDir%\%%a /y
for %%b in (*.bmp) do copy %%b %modelingDir%\%%b /y
for %%c in (*.cs) do copy %%c %drawingsDir%\%%c /y
for %%d in (*.bmp) do copy %%d %drawingsDir%\%%d /y


@pause

 

测试效果挺好

标签:TEKLA,Tekla,exe,%%,exeProcessName,二次开发,using,Structures
From: https://www.cnblogs.com/NanShengBlogs/p/18005199

相关文章

  • C# Winform窗体里面怎么打开exe程序
    C#Winform窗体里面怎么打开exe程序System.Diagnostics.Processprocess=newSystem.Diagnostics.Process();process.StartInfo.FileName="要调用的exe名称";process.StartInfo.WorkingDirectory=path//要掉用得exe路径例如:"C:\windows";process.StartInfo.CreateNoWi......
  • SpringBoot利用ThreadPoolTaskExecutor批量插入百万级数据实测!
    开发目的: 提高百万级数据插入效率。采取方案: 利用ThreadPoolTaskExecutor多线程批量插入。采用技术: springboot2.1.1+mybatisPlus3.0.6+swagger2.5.0+Lombok1.18.4+postgresql+ThreadPoolTaskExecutor等。application-dev.properties添加线程池配置信息#异步线程配置#配置核......
  • UniGUI使用ADO组件、调用数据库的存储过程、生成EXECL表的例子
    UniGUI使用ADO组件、调用数据库的存储过程、生成EXECL表的例子(自己学习记录一下,不一定合理,仅供参考)本例子是使用ADO等组件连接一个云服务器的一个数据库,调用GetOrg存储过程,把机构信息展现把结果导出的一个EXECL表里,并下载把显示的HSate的值进行替换1表示正常,其他表示暂停......
  • 关于Spring5新增的Indexed注解
    前言如果我们应用中使用@ComponentScan注解扫描的package包含的类很多的时候,Spring解析耗时就会很多,相应的应用启动时间也就更长,Spring5.0引入了一个新的注解@Indexed,它可以为Spring的模式注解添加索引,以提升应用启动性能。使用<dependency><groupId>org.springframewor......
  • Spring的任务执行器(TaskExecutor)入门
    Spring的任务执行器(TaskExecutor)入门在现代的应用程序开发中,异步任务的处理是非常常见的需求。Spring框架提供了任务执行器(TaskExecutor)来处理异步任务,使得开发者能够轻松地实现并发处理和异步操作。本篇博文将介绍Spring的任务执行器,包括其概念、用法和最佳实践。什么是任务执行器......
  • pyqt编写的走迷宫游戏环境,python语言,exe文件可以成功运行Window10系统上
    地址:https://pypi.org/project/magic-maze/真实的运行效果:......
  • eXeScope 注册机制算法破解
    使用x64dbg进行修改从网上找来一片文章,感觉靠谱,如下---------------------------------------------------------------------------------------第一次看到这个界面还是在十多年前,当时的我并不明白这些数据的含义。现在为它写一篇博客,算是一种纪念吧。用x64dbg加载exescop......
  • cs3110-2.6exercises
    Exercise:values[✭]WhatisthetypeandvalueofeachofthefollowingOCamlexpressions?7*(1+2+3)"CS"^string_of_int3110Hint:typeeachexpressionintothetoplevelanditwilltellyoutheanswer.Note:^isnotexponentiation.int......
  • Overview how does plpgsql function get executed
    TheSQLCREATEFUNCTIONprocess_orders()RETURNSvoidAS$$DECLAREcrecord;BEGINFORcINSELECT*FROMordersLOOPRAISENOTICE'Processing:%%',c.id,c.total;ENDLOOP;END;$$LANGUAGEplpgsql;createtableorders(idint,t......
  • ThreadPoolExecutor源码阅读
    目录简介继承结构ExecutorExecutorServiceAbstractExecutorServiceExecutorCompletionService线程池配置代码分析成员变量方法总结参考链接本人的源码阅读主要聚焦于类的使用场景,一般只在java层面进行分析,没有深入到一些native方法的实现。并且由于知识储备不完整,很可能出现疏漏......