当前位置: 首页 > wzjs >正文

网站服务器和网站备案在服务器上运行wordpress

网站服务器和网站备案,在服务器上运行wordpress,网站篡改搜索引擎js,专业网站建设设计公司故事 有网友说SolidWorks2024转的Step在低版本上打开是乱码,我第一反映是很奇怪,这是为什么。Solidworks还能有这个低级问题,是欺负中文吗。测试 我在刚安装的SolidWorks 2024 Sp5.0上自己设计了个强大的模型,如下图:导出为step文件格式后我再…

故事

	有网友说SolidWorks2024转的Step在低版本上打开是乱码,我第一反映是很奇怪,这是为什么。Solidworks还能有这个低级问题,是欺负中文吗。

测试

	我在刚安装的SolidWorks 2024 Sp5.0上自己设计了个强大的模型,如下图:

在这里插入图片描述

导出为step文件格式后我再用SolidWorks自己打开,居然打不开。是我人品不好吗? 总装配不显示,而且此时打开的零件文件名我是真的看不懂。(已知原因是因为开了在这里插入图片描述,去掉后就能正常打开,还是非中文)

在这里插入图片描述

单独显示后,确实还是我的零件。
在这里插入图片描述

我又找了一个低版本的Solidworks 2018来开,这应该就是传说中乱码了。

在这里插入图片描述
我再换一个SolidWorks2021打开,结果一样。
在这里插入图片描述

猜测一下原因,估计是SolidWorks 要支持更新版本的step版本242,导致的一些问题,我找了一2024中的一些设置,也没找到,可能是因为我没学会吧。

解决思路

如果是客户发的step文件名你是不知道的,这样也不好分析是什么编码。不过大概率是utf字符集相关的问题。
目前我自己测试的情况下,就知道乱码前和乱码后的对应关系。我们从这个来反推如何修复这个文件名。

在这里插入图片描述
先看第一个结果 零件1变成了 _X2_96f64ef6_X0_1
这时候我发现了一些情况,X2 X0这些奇怪的东西。为了更全面的验证,我重新修改了一些文件名,让中文 英文 和数字和字符混合出现。
在这里插入图片描述
有没有发现什么规律?
这个X2+字符+X0是成对出现的

先查一下中文可以转换成什么
在这里插入图片描述

再一个字符转换的网站看一下

在这里插入图片描述
看到这个结果和_X2_96f64ef6_X0_1有什么相似之处?
就是中间都有96f6和4ef6(忽略大小写)
看起来Unicode更好,除了每个是用\u开头,其它没有什么特殊的字符。
在这里插入图片描述

那么大概率的解决方案就出来了。

  1. 想办法提取汉字转换成unicode的每一组英文+数字
  2. 给母一组前面加上\u再转换成汉字,再拼接起来
  3. 之前是数字或者字母的原位置进行拼接
  4. 拼之前检查长度是否是4的倍数
  5. 异常处理
  6. 读取solidworks文件名,重新命名为解析过的汉字 。

这个时候简单的问一下Chat gpt 让它帮忙写代码
在这里插入图片描述

using System;
using System.Text.RegularExpressions;class Program
{static void Main(){string input = "_X2_5b5088c5914d4f53_X0_AAA_X2_59297a7a_X0_BBBB";// 提取 _X2_ 和 _X0_ 之间的内容string pattern = @"_X2_(.*?)_X0_";MatchCollection matches = Regex.Matches(input, pattern);foreach (Match match in matches){string hexString = match.Groups[1].Value;string result = ConvertHexToUnicode(hexString);Console.WriteLine(result);}}static string ConvertHexToUnicode(string hex){string result = "";for (int i = 0; i + 3 < hex.Length; i += 4){string unicodeHex = hex.Substring(i, 4);int code = Convert.ToInt32(unicodeHex, 16);result += char.ConvertFromUtf32(code);}return result;}
}

大概代码没问题,再让它优化一下。

        private void buttonUnicode_Click(object sender, EventArgs e){string input = "_X2_5b5088c5914d4f53_X0_AAA_X2_59297a7a_X0_BBBB";MessageBox.Show($@"输入前->{input}"+System.Environment.NewLine + $@"输入后->{ConvertUnicode(input)}");}private static string ConvertUnicode(string input){string output = Regex.Replace(input, @"_X2_(.*?)_X0_", match =>{string hexString = match.Groups[1].Value;return ConvertHexToUnicode(hexString);});return output;  }static string ConvertHexToUnicode(string hex){string result = "";for (int i = 0; i + 3 < hex.Length; i += 4){string unicodeHex = hex.Substring(i, 4);int code = Convert.ToInt32(unicodeHex, 16);result += char.ConvertFromUtf32(code);}return result;}

结果如下:
在这里插入图片描述
说明看起来没有什么大问题了。
下一步就是连接solidWorks 修改名称了。

这个就直接上代码,也没用什么api

 private void buttonUnicode_Click(object sender, EventArgs e){//请先打开SolidWorks 并SldWorks swApp = Utility.ConnectToSolidWorks();//打开step文件,并保存一下。var swModel = (ModelDoc2)swApp.ActiveDoc;var swAssembly = swModel as AssemblyDoc;if (swAssembly != null){var allComps = (object[])swAssembly.GetComponents(false);var allCompList = allComps.Cast<Component2>().ToList();//var allCompList = Array.ConvertAll(allComps, x => (Component2)x);for (var index = 0; index < allCompList.Count; index++){var comp = allCompList[index];var filePath = comp.GetPathName();var tempName = System.IO.Path.GetFileNameWithoutExtension(filePath);//var tempFolder = System.IO.Path.GetDirectoryName(filePath);//var tempExt = System.IO.Path.GetExtension(filePath);var ConvertName = ConvertUnicode(tempName);if (!string.Equals(ConvertName, tempName, StringComparison.OrdinalIgnoreCase)){var status = swModel.Extension.SelectByID2(comp.GetSelectByIDString(), "COMPONENT", 0, 0, 0, false, 0, null, 0);var renameRes = swModel.Extension.RenameDocument($@"{ConvertName}");if (renameRes!=0){MessageBox.Show($@"{comp.Name2}改名失败,请检查。");}}}}MessageBox.Show($@"改名完成。");}

执行一次,发现有时候不成功。
大哭。
经过我的分析,在打开step模型的时候,solidworks自己会在后台新建如零件1 零件2 这种模型。这时候就算保存到文件夹,这些文件也还在后台,而刚好我这测试的零件文件名就是零件1 这种,就会改不了名。

在这里插入图片描述
重开后执行,完成。 这里就是经验问题了。不成功的时候,可以先关闭之前的再改,可能 能成功哟。

在这里插入图片描述


文章转载自:

http://Qfihh64e.kztts.cn
http://G8QuLCku.kztts.cn
http://B7VhuriI.kztts.cn
http://evXCkI7O.kztts.cn
http://ynyxCgpY.kztts.cn
http://4ByxcZT2.kztts.cn
http://k1UQ1r07.kztts.cn
http://7iM9xIgZ.kztts.cn
http://9dEUHkxN.kztts.cn
http://FG86NIhb.kztts.cn
http://Emd0NrXX.kztts.cn
http://XG0yv7v0.kztts.cn
http://yUaKWreX.kztts.cn
http://SdiwFNlG.kztts.cn
http://ojHHlbGp.kztts.cn
http://mp4KThKk.kztts.cn
http://2Tkud3r1.kztts.cn
http://Fk8DQiiG.kztts.cn
http://ygRc6w1t.kztts.cn
http://8AoN5lRT.kztts.cn
http://BbylJ2XT.kztts.cn
http://EGTGsoxM.kztts.cn
http://RxY5s0HF.kztts.cn
http://ud2YFoSW.kztts.cn
http://Bh67txIN.kztts.cn
http://ZDr6Czcn.kztts.cn
http://bpo8Hl36.kztts.cn
http://5LwHN6wM.kztts.cn
http://Uw6fcsEx.kztts.cn
http://zuLRJvde.kztts.cn
http://www.dtcms.com/wzjs/698409.html

相关文章:

  • 东莞网站建设总结推介网手机版
  • wordpress 电影下载站天津网站搜索排名
  • iis网站连接数西部数码做跳转网站
  • 重庆餐饮品牌策划公司厦门seo外包公司
  • 网站功能简介网页网站建设软件有哪些
  • 东莞中英文网站建设河北seo技术
  • 华夏业务员做单的网站毕业设计动漫网页设计
  • 如何选择做pc端网站企业vi设计与网站开发
  • 常德做网站的公司中国建设银行个人网上银行登录官网
  • 企业资质查询官方网站58.搜房等网站怎么做效果才好
  • 怎么看网站文章的收录深圳软件开发
  • 自建外贸网站多少钱银川网站推广
  • 百度做网站的服务合同中国菲律宾热身赛
  • 电子商务网站的建设流程广东住房和建设局网站
  • 制作营销网站模板免费下载个人网站的设计的现状
  • 开发 网站 沈阳wordpress 百度不收录
  • 网站页头尺寸建网站找那家企业好
  • wordpress+xml文件分割器东莞网站优化哪个公司好
  • 网站建设款属于什么科目使用asp.net做购物网站
  • 网站开发要用什么语言巴中市文旅新区关坝片区安置房建设项目
  • 百度云 建网站网站建设交流发言稿
  • 网站用户黏度表现在可以免费秒玩游戏的网站
  • 做a图片网站兰州网站建设兰州
  • 网站设计培训学校有哪家深圳10大劳务公司
  • 如何做好网站推中国航发网上商城废旧物资
  • 静态网站模版qq代刷网站推广免费
  • 网站验证码文件婚庆租车
  • 东台建设网站在线图片制作加字生成
  • 有没有网站专门做cnc招聘南昌专业网站排名推广
  • 网站色差表淘宝网的公司注册名称