.NET
cancel
Showing results for 
Search instead for 
Did you mean: 
This page has been translated for your convenience with an automatic translation service. This is not an official translation and may contain errors and inaccurate translations. Autodesk does not warrant, either expressly or implied, the accuracy, reliability or completeness of the information translated by the machine translation service and will not be liable for damages or losses caused by the trust placed in the translation service. Translate

使用 ReadDwgFile 获取 Database ,修改其中的DBText 与 AttributeReference 发生对齐及宽度因子不改变。

8 REPLIES 8
SOLVED
Reply
Message 1 of 9
a932994040
445 Views, 8 Replies

使用 ReadDwgFile 获取 Database ,修改其中的DBText 与 AttributeReference 发生对齐及宽度因子不改变。

想请教一下,我使用 ReadDwgFile 获取 Database ;

使用 Transaction 获取 Database 中的 DBText 与 AttributeReference;

对其属性 TextString 进行修改;

但只修改了文本值,对齐方式与宽度因子未随之改变;

尝试使用 AdjustAlignment,但并未解决问题。

using (var docLock = document.LockDocument())
{
using(var ndb = new Database(false, true))
{
ndb.ReadDwgFile("D:\\Projects\\Document3.dwg", FileShare.ReadWrite, true, "");

using (Transaction tr = ndb.TransactionManager.StartTransaction())
{
var bt = tr.GetObject(ndb.BlockTableId, OpenMode.ForRead) as BlockTable;
var btr = tr.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;

foreach (ObjectId id in btr)
{
var dbo = tr.GetObject(id, OpenMode.ForWrite);

if (dbo.GetType() == typeof(DBText))
{
txt = dbo as DBText;
txt.TextString = "填充文本";
var originalDatabase = HostApplicationServices.WorkingDatabase;
HostApplicationServices.WorkingDatabase = ndb;
txt.AdjustAlignment(ndb);
HostApplicationServices.WorkingDatabase = originalDatabase;
}
}
tr.Commit();
}

ndb.SaveAs("D:\\Projects\\Document3.dwg", DwgVersion.Current);
ndb.Dispose();
}
}微信图片_20230515154643.png微信图片_20230515154726.png

I borrowed from previous posts:

https://forums.autodesk.com/t5/net/attrubute-text-alignment-problem-after-update/m-p/2624675#M17532

https://forums.autodesk.com/t5/net/wrong-justification-of-dbtext-in-block/m-p/9401872/highlight/fals...

https://forums.autodesk.com/t5/net/c-dbtext-alignment-error-when-openning-readdwgfile-method-have/m-...

use code:

var originalDatabase = HostApplicationServices.WorkingDatabase;
HostApplicationServices.WorkingDatabase = ndb;
txt.AdjustAlignment(ndb);
HostApplicationServices.WorkingDatabase = originalDatabase;

no success

Must the DWG file be opened in a viewport to take effect?

Tags (1)
Labels (1)
8 REPLIES 8
Message 2 of 9
norman.yuan
in reply to: a932994040

Well, I would try to set WorkingDatabase BEFORE starting the Transaction:

using (ndb=new Database(false, true))
{
  ndb.ReadDwgFile(...);
  var originalDatabase=HostApplicationServices.WorkingDatabase;
  using (var tr = ndb.TransactionManager.StartTransaction()
  {
    ...
    tr.Commit();
  }
  HostApplicationServices.WorkingDatabase=originalDatabase
  ndb.SaveAs(...)
}

 

Message 3 of 9
a932994040
in reply to: norman.yuan

I followed your method to try to set WorkingDatabase BEFORE starting the Transaction

original document:

企业微信截图_16841977255099.png

After program execution:

企业微信截图_1684197796122.png

Manual movement:

企业微信截图_1684197862947.png

 

using (var docLock = document.LockDocument())
{
	using(var ndb = new Database(false, true))
	{
		ndb.ReadDwgFile("D:\\Projects\\Document3.dwg", FileShare.ReadWrite, true, "");
		var originalDatabase = HostApplicationServices.WorkingDatabase;
		using (Transaction tr = ndb.TransactionManager.StartTransaction())
		{
			var bt = tr.GetObject(ndb.BlockTableId, OpenMode.ForRead) as BlockTable;
			var btr = tr.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;

			foreach (ObjectId id in btr)
			{
				var dbo = tr.GetObject(id, OpenMode.ForWrite);

				if (dbo.GetType() == typeof(DBText))
				{
					txt.SetDatabaseDefaults(ndb);
					txt = dbo as DBText;
					txt.TextString = "红旗H平台";
					
					HostApplicationServices.WorkingDatabase = ndb;
					txt.AdjustAlignment(ndb);
					
				}
			}
			tr.Commit();
		}
		HostApplicationServices.WorkingDatabase = originalDatabase;

		ndb.SaveAs("D:\\Projects\\Document3.dwg", DwgVersion.Current);
		ndb.Dispose();
	}
}

 

Video Player is loading.
Current Time 0:00
Duration 0:00
Loaded: 0%
Stream Type LIVE
Remaining Time 0:00
 
1x
    • Chapters
    • descriptions off, selected
    • captions off, selected
      (view in My Videos)

       

       

       

      Message 4 of 9
      Miralkong
      in reply to: a932994040

      Hi, in my test, I found that if you set the command flag to CommandFlags.Session, it works well. The sample code is as below:

      [CommandMethod("test",CommandFlags.Session)]
              public void Test()
              {
                  Database sourceDb = new Database(false, true);
                  sourceDb.ReadDwgFile("Your dwg file path", System.IO.FileShare.ReadWrite, true, "");
                  sourceDb.CloseInput(true);
      
                  var originalDb = HostApplicationServices.WorkingDatabase;
      
                  using (Transaction acTrans = sourceDb.TransactionManager.StartOpenCloseTransaction())
                  {
                      HostApplicationServices.WorkingDatabase = sourceDb;
      
                      BlockTable acBlkTbl = acTrans.GetObject(sourceDb.BlockTableId, OpenMode.ForWrite) as BlockTable;
                      BlockTableRecord acBlkTblRec = acTrans.GetObject(acBlkTbl[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;
                      
                      foreach (ObjectId id in acBlkTblRec)
                      {
                          DBObject obj = acTrans.GetObject(id, OpenMode.ForWrite);
                          if (obj.GetType() != typeof(DBText))
                              continue;
                          DBText txt = (DBText)obj;
                          txt.TextString = "Change text from dll";
                          txt.Height = 5000;
                          txt.WidthFactor = 5;
                          txt.Justify = AttachmentPoint.MiddleCenter;
                          txt.AlignmentPoint = txt.Position;
                      }
      
                      acTrans.Commit();
                  }
      
                  HostApplicationServices.WorkingDatabase = originalDb;
      
                  sourceDb.SaveAs("Your dwg file path", DwgVersion.Current);
                  sourceDb.Dispose();
              }
      Message 5 of 9
      a932994040
      in reply to: Miralkong

      Thanks! That was it.
      Message 6 of 9
      a932994040
      in reply to: Miralkong

      Hello, I want to replicate a BlockReference and modify the TextString attribute value of AttributeReference in the replicated BlockReference。I applied the same method to AttributeReference, but the position did not refresh。Could you please guide me again? Thank you very much!

       

      [CommandMethod("test", CommandFlags.Session)]
      public void Test()
      {
      	Database sourceDb = new Database(false, true);
      	sourceDb.ReadDwgFile("D:\\Projects\\Document2.dwg", System.IO.FileShare.ReadWrite, true, "");
      	sourceDb.CloseInput(true);
      
      	var originalDb = HostApplicationServices.WorkingDatabase;
      
      	using (Transaction acTrans = sourceDb.TransactionManager.StartOpenCloseTransaction())
      	{
      		HostApplicationServices.WorkingDatabase = sourceDb;
      
      		BlockReference block = null;
      
      		BlockTable acBlkTbl = acTrans.GetObject(sourceDb.BlockTableId, OpenMode.ForWrite) as BlockTable;
      		BlockTableRecord acBlkTblRec = acTrans.GetObject(acBlkTbl[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;
      
      		foreach (ObjectId id in acBlkTblRec)
      		{
      			DBObject obj = acTrans.GetObject(id, OpenMode.ForWrite);
      			if (obj.GetType() != typeof(BlockReference))
      				continue;
      			block = (BlockReference)obj;
      		}
      
      		var point = new Point3d(block.Position.X + 260, block.Position.Y, block.Position.Z);
      		var mt = Matrix3d.Displacement(point - block.Position);
      		var nbr = block.GetTransformedCopy(mt) as BlockReference;
      		acBlkTblRec.AppendEntity(nbr);
      		acTrans.AddNewlyCreatedDBObject(nbr, true);
      
      		foreach (ObjectId id in nbr.AttributeCollection)
      		{
      			var nbr_ar = acTrans.GetObject(id, OpenMode.ForWrite) as AttributeReference;
      
      			switch (nbr_ar.Tag)
      			{
      				case "厂项名称":
      					nbr_ar.TextString = "红旗H平台";
      					break;
      
      				case "图纸名称":
      					nbr_ar.TextString = "蜡烘干室";
      					break;
      				case "图纸编号":
      					nbr_ar.TextString = "FH866";
      					break;
      
      				case "年":
      					nbr_ar.TextString = "2023";
      					break;
      
      				case "月":
      					nbr_ar.TextString = "5";
      					break;
      			}
      
      			nbr_ar.AdjustAlignment(sourceDb);
      		}
      
      		acTrans.Commit();
      	}
      
      	HostApplicationServices.WorkingDatabase = originalDb;
      
      	sourceDb.SaveAs("D:\\Projects\\Document2.dwg", DwgVersion.Current);
      	sourceDb.Dispose();
      }

       

       

      企业微信截图_1684289313190.png

       

      Video Player is loading.
      Current Time 0:00
      Duration 0:00
      Loaded: 0%
      Stream Type LIVE
      Remaining Time 0:00
       
      1x
        • Chapters
        • descriptions off, selected
        • captions off, selected
          (view in My Videos)

          Tags (1)
          Message 7 of 9
          a932994040
          in reply to: norman.yuan


          Hello, I have reviewed the post about updating attribute references but have not found a solution. Can you help me?
          Message 8 of 9
          a932994040
          in reply to: Miralkong

          I refer to other similar solutions, which are all copying the AttributeDefinition of the original BlockReference and recreating the BlockReference before adding a new AttributeDefinition;
          Message 9 of 9
          Miralkong
          in reply to: a932994040

          Hi. The reason why you did't get a correct result is that you should call "attsync" method after you change the contents of an attribute block. However, if you are working with a side database, you probably can't use Editor.Command("_attsync ", "_name ", "your block name"). Another way you could try is to create a new block reference other than copying one and editing its value. Another thing to say here, the method you used in your code to get the attribute block can only work on the circumstance that you only have one block in your drawing. You should use more general ways to do it. Below is a sample that works on my computer.

          [CommandMethod("test", CommandFlags.Session)]
                  public void Test()
                  {
                      Database sourceDb = new Database(false, true);
                      sourceDb.ReadDwgFile(@"C:\Users\MiralKong\Desktop\Document2.dwg", System.IO.FileShare.ReadWrite, true, "");
                      sourceDb.CloseInput(true);
          
                      using (Transaction acTrans = sourceDb.TransactionManager.StartOpenCloseTransaction())
                      {
                          string attBlkName = "汇总封面块";
          
                          BlockTable acBlkTbl = acTrans.GetObject(sourceDb.BlockTableId, OpenMode.ForRead) as BlockTable;
                          BlockTableRecord acBlkTblRec = acTrans.GetObject(acBlkTbl[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;
                          
                          Point3d insertPt = new Point3d();
                          foreach (ObjectId id in acBlkTblRec)
                          {
                              BlockReference origin = acTrans.GetObject(id, OpenMode.ForRead) as BlockReference;
                              if(origin!=null && origin.Name == attBlkName)
                              {
                                  insertPt = origin.Position;
                                  break;
                              }
                          }
                          insertPt = new Point3d(insertPt.X + 260, insertPt.Y, insertPt.Z);                
          
                          if (!acBlkTbl.Has(attBlkName))
                          {
                              return;
                          }
                        
                          BlockTableRecord attBlkTblRec = acTrans.GetObject(acBlkTbl[attBlkName], OpenMode.ForRead) as BlockTableRecord;
          
                          using (BlockReference acBlkRef = new BlockReference(insertPt, attBlkTblRec.ObjectId))
                          {
                              acBlkTblRec.AppendEntity(acBlkRef);
                              acTrans.AddNewlyCreatedDBObject(acBlkRef, true);
          
                              foreach (ObjectId id in attBlkTblRec)
                              {                       
                                  DBObject dBObject = acTrans.GetObject(id, OpenMode.ForWrite);
                                  AttributeDefinition attDef = dBObject as AttributeDefinition;
                                  
                                  if (attDef != null && !attDef.Constant)
                                  {
                                      using (AttributeReference attRef = new AttributeReference())
                                      {
                                          attRef.SetAttributeFromBlock(attDef, acBlkRef.BlockTransform);
                                          switch (attDef.Tag)
                                          {
                                              case "厂项名称":
                                                  attDef.TextString = "红旗H平台";
                                                  break;
                                              case "图纸名称":
                                                  attDef.TextString = "蜡烘干室";
                                                  break;
                                              case "图纸编号":
                                                  attDef.TextString = "FH866";
                                                  break;
                                              case "年":
                                                  attDef.TextString = "2023";
                                                  break;
                                              case "月":
                                                  attDef.TextString = "5";
                                                  break;
                                          }
                                          acBlkRef.AttributeCollection.AppendAttribute(attRef);
                                          acTrans.AddNewlyCreatedDBObject(attRef, true);
                                      }
                                  }
                              }
                          }
                          acTrans.Commit();
                      }
          
                      sourceDb.SaveAs(@"C:\Users\MiralKong\Desktop\Document2.dwg", DwgVersion.Current);
                      sourceDb.Dispose();
                  }

          Can't find what you're looking for? Ask the community or share your knowledge.

          Post to forums  

          Autodesk Design & Make Report


          ”Boost

           

          ______
          icon-svg-close-thick

          Cookie preferences

          Your privacy is important to us and so is an optimal experience. To help us customize information and build applications, we collect data about your use of this site.

          May we collect and use your data?

          Learn more about the Third Party Services we use and our Privacy Statement.

          Strictly necessary – required for our site to work and to provide services to you

          These cookies allow us to record your preferences or login information, respond to your requests or fulfill items in your shopping cart.

          Improve your experience – allows us to show you what is relevant to you

          These cookies enable us to provide enhanced functionality and personalization. They may be set by us or by third party providers whose services we use to deliver information and experiences tailored to you. If you do not allow these cookies, some or all of these services may not be available for you.

          Customize your advertising – permits us to offer targeted advertising to you

          These cookies collect data about you based on your activities and interests in order to show you relevant ads and to track effectiveness. By collecting this data, the ads you see will be more tailored to your interests. If you do not allow these cookies, you will experience less targeted advertising.

          icon-svg-close-thick

          THIRD PARTY SERVICES

          Learn more about the Third-Party Services we use in each category, and how we use the data we collect from you online.

          icon-svg-hide-thick

          icon-svg-show-thick

          Strictly necessary – required for our site to work and to provide services to you

          Qualtrics
          We use Qualtrics to let you give us feedback via surveys or online forms. You may be randomly selected to participate in a survey, or you can actively decide to give us feedback. We collect data to better understand what actions you took before filling out a survey. This helps us troubleshoot issues you may have experienced. Qualtrics Privacy Policy
          Akamai mPulse
          We use Akamai mPulse to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Akamai mPulse Privacy Policy
          Digital River
          We use Digital River to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Digital River Privacy Policy
          Dynatrace
          We use Dynatrace to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Dynatrace Privacy Policy
          Khoros
          We use Khoros to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Khoros Privacy Policy
          Launch Darkly
          We use Launch Darkly to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Launch Darkly Privacy Policy
          New Relic
          We use New Relic to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. New Relic Privacy Policy
          Salesforce Live Agent
          We use Salesforce Live Agent to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Salesforce Live Agent Privacy Policy
          Wistia
          We use Wistia to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Wistia Privacy Policy
          Tealium
          We use Tealium to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Tealium Privacy Policy
          Upsellit
          We use Upsellit to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Upsellit Privacy Policy
          CJ Affiliates
          We use CJ Affiliates to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. CJ Affiliates Privacy Policy
          Commission Factory
          We use Commission Factory to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Commission Factory Privacy Policy
          Google Analytics (Strictly Necessary)
          We use Google Analytics (Strictly Necessary) to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Google Analytics (Strictly Necessary) Privacy Policy
          Typepad Stats
          We use Typepad Stats to collect data about your behaviour on our sites. This may include pages you’ve visited. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our platform to provide the most relevant content. This allows us to enhance your overall user experience. Typepad Stats Privacy Policy
          Geo Targetly
          We use Geo Targetly to direct website visitors to the most appropriate web page and/or serve tailored content based on their location. Geo Targetly uses the IP address of a website visitor to determine the approximate location of the visitor’s device. This helps ensure that the visitor views content in their (most likely) local language.Geo Targetly Privacy Policy
          SpeedCurve
          We use SpeedCurve to monitor and measure the performance of your website experience by measuring web page load times as well as the responsiveness of subsequent elements such as images, scripts, and text.SpeedCurve Privacy Policy
          Qualified
          Qualified is the Autodesk Live Chat agent platform. This platform provides services to allow our customers to communicate in real-time with Autodesk support. We may collect unique ID for specific browser sessions during a chat. Qualified Privacy Policy

          icon-svg-hide-thick

          icon-svg-show-thick

          Improve your experience – allows us to show you what is relevant to you

          Google Optimize
          We use Google Optimize to test new features on our sites and customize your experience of these features. To do this, we collect behavioral data while you’re on our sites. This data may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, your Autodesk ID, and others. You may experience a different version of our sites based on feature testing, or view personalized content based on your visitor attributes. Google Optimize Privacy Policy
          ClickTale
          We use ClickTale to better understand where you may encounter difficulties with our sites. We use session recording to help us see how you interact with our sites, including any elements on our pages. Your Personally Identifiable Information is masked and is not collected. ClickTale Privacy Policy
          OneSignal
          We use OneSignal to deploy digital advertising on sites supported by OneSignal. Ads are based on both OneSignal data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that OneSignal has collected from you. We use the data that we provide to OneSignal to better customize your digital advertising experience and present you with more relevant ads. OneSignal Privacy Policy
          Optimizely
          We use Optimizely to test new features on our sites and customize your experience of these features. To do this, we collect behavioral data while you’re on our sites. This data may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, your Autodesk ID, and others. You may experience a different version of our sites based on feature testing, or view personalized content based on your visitor attributes. Optimizely Privacy Policy
          Amplitude
          We use Amplitude to test new features on our sites and customize your experience of these features. To do this, we collect behavioral data while you’re on our sites. This data may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, your Autodesk ID, and others. You may experience a different version of our sites based on feature testing, or view personalized content based on your visitor attributes. Amplitude Privacy Policy
          Snowplow
          We use Snowplow to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Snowplow Privacy Policy
          UserVoice
          We use UserVoice to collect data about your behaviour on our sites. This may include pages you’ve visited. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our platform to provide the most relevant content. This allows us to enhance your overall user experience. UserVoice Privacy Policy
          Clearbit
          Clearbit allows real-time data enrichment to provide a personalized and relevant experience to our customers. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID.Clearbit Privacy Policy
          YouTube
          YouTube is a video sharing platform which allows users to view and share embedded videos on our websites. YouTube provides viewership metrics on video performance. YouTube Privacy Policy

          icon-svg-hide-thick

          icon-svg-show-thick

          Customize your advertising – permits us to offer targeted advertising to you

          Adobe Analytics
          We use Adobe Analytics to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Adobe Analytics Privacy Policy
          Google Analytics (Web Analytics)
          We use Google Analytics (Web Analytics) to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Google Analytics (Web Analytics) Privacy Policy
          AdWords
          We use AdWords to deploy digital advertising on sites supported by AdWords. Ads are based on both AdWords data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that AdWords has collected from you. We use the data that we provide to AdWords to better customize your digital advertising experience and present you with more relevant ads. AdWords Privacy Policy
          Marketo
          We use Marketo to send you more timely and relevant email content. To do this, we collect data about your online behavior and your interaction with the emails we send. Data collected may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, email open rates, links clicked, and others. We may combine this data with data collected from other sources to offer you improved sales or customer service experiences, as well as more relevant content based on advanced analytics processing. Marketo Privacy Policy
          Doubleclick
          We use Doubleclick to deploy digital advertising on sites supported by Doubleclick. Ads are based on both Doubleclick data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Doubleclick has collected from you. We use the data that we provide to Doubleclick to better customize your digital advertising experience and present you with more relevant ads. Doubleclick Privacy Policy
          HubSpot
          We use HubSpot to send you more timely and relevant email content. To do this, we collect data about your online behavior and your interaction with the emails we send. Data collected may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, email open rates, links clicked, and others. HubSpot Privacy Policy
          Twitter
          We use Twitter to deploy digital advertising on sites supported by Twitter. Ads are based on both Twitter data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Twitter has collected from you. We use the data that we provide to Twitter to better customize your digital advertising experience and present you with more relevant ads. Twitter Privacy Policy
          Facebook
          We use Facebook to deploy digital advertising on sites supported by Facebook. Ads are based on both Facebook data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Facebook has collected from you. We use the data that we provide to Facebook to better customize your digital advertising experience and present you with more relevant ads. Facebook Privacy Policy
          LinkedIn
          We use LinkedIn to deploy digital advertising on sites supported by LinkedIn. Ads are based on both LinkedIn data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that LinkedIn has collected from you. We use the data that we provide to LinkedIn to better customize your digital advertising experience and present you with more relevant ads. LinkedIn Privacy Policy
          Yahoo! Japan
          We use Yahoo! Japan to deploy digital advertising on sites supported by Yahoo! Japan. Ads are based on both Yahoo! Japan data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Yahoo! Japan has collected from you. We use the data that we provide to Yahoo! Japan to better customize your digital advertising experience and present you with more relevant ads. Yahoo! Japan Privacy Policy
          Naver
          We use Naver to deploy digital advertising on sites supported by Naver. Ads are based on both Naver data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Naver has collected from you. We use the data that we provide to Naver to better customize your digital advertising experience and present you with more relevant ads. Naver Privacy Policy
          Quantcast
          We use Quantcast to deploy digital advertising on sites supported by Quantcast. Ads are based on both Quantcast data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Quantcast has collected from you. We use the data that we provide to Quantcast to better customize your digital advertising experience and present you with more relevant ads. Quantcast Privacy Policy
          Call Tracking
          We use Call Tracking to provide customized phone numbers for our campaigns. This gives you faster access to our agents and helps us more accurately evaluate our performance. We may collect data about your behavior on our sites based on the phone number provided. Call Tracking Privacy Policy
          Wunderkind
          We use Wunderkind to deploy digital advertising on sites supported by Wunderkind. Ads are based on both Wunderkind data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Wunderkind has collected from you. We use the data that we provide to Wunderkind to better customize your digital advertising experience and present you with more relevant ads. Wunderkind Privacy Policy
          ADC Media
          We use ADC Media to deploy digital advertising on sites supported by ADC Media. Ads are based on both ADC Media data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that ADC Media has collected from you. We use the data that we provide to ADC Media to better customize your digital advertising experience and present you with more relevant ads. ADC Media Privacy Policy
          AgrantSEM
          We use AgrantSEM to deploy digital advertising on sites supported by AgrantSEM. Ads are based on both AgrantSEM data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that AgrantSEM has collected from you. We use the data that we provide to AgrantSEM to better customize your digital advertising experience and present you with more relevant ads. AgrantSEM Privacy Policy
          Bidtellect
          We use Bidtellect to deploy digital advertising on sites supported by Bidtellect. Ads are based on both Bidtellect data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Bidtellect has collected from you. We use the data that we provide to Bidtellect to better customize your digital advertising experience and present you with more relevant ads. Bidtellect Privacy Policy
          Bing
          We use Bing to deploy digital advertising on sites supported by Bing. Ads are based on both Bing data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Bing has collected from you. We use the data that we provide to Bing to better customize your digital advertising experience and present you with more relevant ads. Bing Privacy Policy
          G2Crowd
          We use G2Crowd to deploy digital advertising on sites supported by G2Crowd. Ads are based on both G2Crowd data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that G2Crowd has collected from you. We use the data that we provide to G2Crowd to better customize your digital advertising experience and present you with more relevant ads. G2Crowd Privacy Policy
          NMPI Display
          We use NMPI Display to deploy digital advertising on sites supported by NMPI Display. Ads are based on both NMPI Display data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that NMPI Display has collected from you. We use the data that we provide to NMPI Display to better customize your digital advertising experience and present you with more relevant ads. NMPI Display Privacy Policy
          VK
          We use VK to deploy digital advertising on sites supported by VK. Ads are based on both VK data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that VK has collected from you. We use the data that we provide to VK to better customize your digital advertising experience and present you with more relevant ads. VK Privacy Policy
          Adobe Target
          We use Adobe Target to test new features on our sites and customize your experience of these features. To do this, we collect behavioral data while you’re on our sites. This data may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, your Autodesk ID, and others. You may experience a different version of our sites based on feature testing, or view personalized content based on your visitor attributes. Adobe Target Privacy Policy
          Google Analytics (Advertising)
          We use Google Analytics (Advertising) to deploy digital advertising on sites supported by Google Analytics (Advertising). Ads are based on both Google Analytics (Advertising) data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Google Analytics (Advertising) has collected from you. We use the data that we provide to Google Analytics (Advertising) to better customize your digital advertising experience and present you with more relevant ads. Google Analytics (Advertising) Privacy Policy
          Trendkite
          We use Trendkite to deploy digital advertising on sites supported by Trendkite. Ads are based on both Trendkite data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Trendkite has collected from you. We use the data that we provide to Trendkite to better customize your digital advertising experience and present you with more relevant ads. Trendkite Privacy Policy
          Hotjar
          We use Hotjar to deploy digital advertising on sites supported by Hotjar. Ads are based on both Hotjar data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Hotjar has collected from you. We use the data that we provide to Hotjar to better customize your digital advertising experience and present you with more relevant ads. Hotjar Privacy Policy
          6 Sense
          We use 6 Sense to deploy digital advertising on sites supported by 6 Sense. Ads are based on both 6 Sense data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that 6 Sense has collected from you. We use the data that we provide to 6 Sense to better customize your digital advertising experience and present you with more relevant ads. 6 Sense Privacy Policy
          Terminus
          We use Terminus to deploy digital advertising on sites supported by Terminus. Ads are based on both Terminus data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Terminus has collected from you. We use the data that we provide to Terminus to better customize your digital advertising experience and present you with more relevant ads. Terminus Privacy Policy
          StackAdapt
          We use StackAdapt to deploy digital advertising on sites supported by StackAdapt. Ads are based on both StackAdapt data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that StackAdapt has collected from you. We use the data that we provide to StackAdapt to better customize your digital advertising experience and present you with more relevant ads. StackAdapt Privacy Policy
          The Trade Desk
          We use The Trade Desk to deploy digital advertising on sites supported by The Trade Desk. Ads are based on both The Trade Desk data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that The Trade Desk has collected from you. We use the data that we provide to The Trade Desk to better customize your digital advertising experience and present you with more relevant ads. The Trade Desk Privacy Policy
          RollWorks
          We use RollWorks to deploy digital advertising on sites supported by RollWorks. Ads are based on both RollWorks data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that RollWorks has collected from you. We use the data that we provide to RollWorks to better customize your digital advertising experience and present you with more relevant ads. RollWorks Privacy Policy

          Are you sure you want a less customized experience?

          We can access your data only if you select "yes" for the categories on the previous screen. This lets us tailor our marketing so that it's more relevant for you. You can change your settings at any time by visiting our privacy statement

          Your experience. Your choice.

          We care about your privacy. The data we collect helps us understand how you use our products, what information you might be interested in, and what we can improve to make your engagement with Autodesk more rewarding.

          May we collect and use your data to tailor your experience?

          Explore the benefits of a customized experience by managing your privacy settings for this site or visit our Privacy Statement to learn more about your options.